net25 第16周作业

1、源码编译安装LNMP架构环境;

yum groupinstall -y ‘Development Tools’ ‘Server Platform Development’

  • 编译nginx
~]# yum install -y openssl-devel pcre-devel
~]# useradd nginx
~]# ./configure --prefix=/usr/local/nginx \
--with-http_stub_status_module \
--with-http_ssl_module \
--user=nginx \
--group=nginx
~]# make && make install
  • 编译mariadb
(1) cmake-2.8.8
./configure && make && make install
(2) mariadb
useradd mysql
cmake . -LH  预编译下
cmake .
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/data/mysql \
-DSYSCONFIGDIR=/etc \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DWITH_SSL=system \
-DWITH_ZLIB=system \
-DWITH_LIBWRAP=0 \
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci

make && make install

初始化数据
./mysql_db_install --basedir=/usr/local/mysql --datadir=/data/mysql --user=mysql

加载库和头文件
vim /etc/ld.so.conf.d/mariadb.conf
ldconfig
ln -s /usr/local/mariadb/include /usr/include/mysql
  • 编译php
3、php-7.1.3
useradd www

./configure --prefix=/usr/local/php \
--sysconfdir=/usr/local/php/etc \
--with-curl \
--with-freetype-dir \
--with-gd \
--with-gettext \
--with-iconv-dir \
--with-kerberos \
--with-libdir=lib64 \
--with-libxml-dir \
--with-mysqli \
--with-openssl \
--with-pcre-regex \
--with-pdo-mysql=/usr/local/mariadb \
--with-pdo-sqlite \
--with-pear \
--with-png-dir \
--with-xmlrpc \
--with-xsl \
--with-zlib \
--enable-fpm \
--enable-bcmath \
--enable-libxml \
--enable-inline-optimization \
--enable-gd-native-ttf \
--enable-mbregex \
--enable-mbstring \
--enable-opcache \
--enable-pcntl \
--enable-shmop \
--enable-soap \
--enable-sockets \
--enable-sysvsem \
--enable-xml \
--enable-zip

make && make install

2、编写一个脚本完成以下功能:

  • (1)、一键搭建LNMP源码编译环境;
  • (2)、可通过在脚本后面跟上一些参数来自定义安装目录等其他选项
#!/bin/bash

#install pre packages
yum groupinstall -y 'Development Tools' 'Server Platform Development' openssl-devel pcre-devel

echo "Usage: $0 [nginx_install] [mariadb_install] [php_install]"

nginx_install=${1:-/usr/local/nginx}
mariadb_install=${2:-/usr/local/mariadb}
php_install=${3:-/usr/local/php}

#install nginx
useradd nginx

tar xf nginx.tar.gz
cd nginx
./configure --prefix=${nginx_install} \
--with-http_stub_status_module \
--with-http_ssl_module \
--user=nginx \
--group=nginx
make && make install

cd $nginx_install/sbin
./nginx

#install mariadb
useradd mariadb
tar xf cmake.tar.gz
cd cmake
./configure && make && make install

tar ../mariadb.tar.gz
cd ../mariadb
cmake . -LH
cmake .
-DCMAKE_INSTALL_PREFIX=${mariadb_install} \
-DMYSQL_DATADIR=/data/mysql \
-DSYSCONFIGDIR=/etc \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DWITH_SSL=system \
-DWITH_ZLIB=system \
-DWITH_LIBWRAP=0 \
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci

make && make install

cd $mariadb_install/scripts
./mysql_db_install --basedir=/usr/local/mysql --datadir=/data/mysql --user=mariadb
echo $mariadb_install > /etc/ld.so.conf.d/mariadb.conf
ldconfig
ln -s $mariadb_install/include /usr/include/mysql

#install php
useradd www
tar xf php.tar.gz
./configure --prefix=${php_install} \
--sysconfdir=/usr/local/php/etc \
--with-curl \
--with-freetype-dir \
--with-gd \
--with-gettext \
--with-iconv-dir \
--with-kerberos \
--with-libdir=lib64 \
--with-libxml-dir \
--with-mysqli \
--with-openssl \
--with-pcre-regex \
--with-pdo-mysql=${mariadb_install} \
--with-pdo-sqlite \
--with-pear \
--with-png-dir \
--with-xmlrpc \
--with-xsl \
--with-zlib \
--enable-fpm \
--enable-bcmath \
--enable-libxml \
--enable-inline-optimization \
--enable-gd-native-ttf \
--enable-mbregex \
--enable-mbstring \
--enable-opcache \
--enable-pcntl \
--enable-shmop \
--enable-soap \
--enable-sockets \
--enable-sysvsem \
--enable-xml \
--enable-zip

make && make install

原创文章,作者:N25_随心,如若转载,请注明出处:http://www.178linux.com/74806

(0)
N25_随心N25_随心
上一篇 2017-05-15
下一篇 2017-05-15

相关推荐

  • 磁盘管理(二)之swap、dd工具使用

    磁盘管理(二)之swap、dd工具使用   一、挂载点和/etc/fstab   (1)配置文件/etc/fstab,当系统启动时,自动加载该文件,会把写在配置文件里面的所有挂载点全部自动挂载上去,只要按照格式写,就不会丢失。   (2)文件挂载配置文件,如下图:    &nbs…

    Linux干货 2016-08-29
  • N21沉舟第九周作业

    1、写一个脚本,判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin);分别这两类用户的个数;通过字符串比较来实现; 方法一: #!/bin/bash         #     dec…

    Linux干货 2016-08-30
  • 文件查找相关:whereis、find和locate

        本文将对find和locate进行详细讲解 命令简介 名称:whereis     功能:定位文件所在的目录     用法:whereis shell命令     注意:whereis是根据环境变量PATH来查找文件的,而PATH通常设置成存放命令的那些路径,如/bin、…

    Linux干货 2016-04-05
  • 五种开源协议的比较(BSD,Apache,GPL,LGPL,MIT)

    BSD开源协议(original BSD license、FreeBSD license、Original BSD license) BSD开源协议是一个给于使用者很大自由的协议。基本上使用者可以”为所欲为”,可以自由的使用,修改源代码,也可以将修改后的代码作为开源或者专有软件再发布。 但”为所欲为”的前提当你发布使用了BSD协议的代码,或则以BSD协议代码…

    Linux干货 2017-01-30

评论列表(1条)

  • 马哥教育
    马哥教育 2017-06-20 10:17

    写的很好,如果可以把参数解释一下的话会更好