ASP站长网众所周知,LAMP 平台是目前应用最为广泛的网站服务器架构,其中的“A”对应着Web服务软件Apache HTTP Server。随着Nginx在企业中的使用越来越多,LNMP(或LEMP)架构也受到越来越多Linux系统工程师的青睐,其中的“E”就来自于Nginx的发音[engine x]。就像构建LAMP平台一一样, 构建LNMP平台也需要Linux服务器、MySOL数据库和PHP解析环境,区别主要在Nginx与PHP的协作配置上。
 
第一步:安装Nginx
 
1.编译安装Nginx
 
--------安装依赖包-------
yum -y install pcre-devel zlib-devel gcc gcc-c++ cmake
 
//创建nginx用户
useradd -M -s /sbin/nologin nginx
 
//解压到/opt
tar xzvf nginx-1.6.0.tar.gz -C /opt
 
---------配置编译安装--------
cd /opt/nginx-1.6.0/
 
 ./configure \
--prefix=/usr/local/nginx \
--user=nginx \
--group=nginx \
--with-http_stub_status_module            //开启stub_status状态统计模块//
 
make
make install
 
2.制作启动脚本
 
ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/  //让系统识别命令
 
-----检查、启动、重启、停止--------
nginx -t        //检查
nginx          //启动
killall -1 nginx    //重启
killall -3 nginx    //停止
 
-------制作管理角本--------
vi /etc/init.d/nginx
#!/bin/bash
# chkconfig: - 99 20
# description: Nginx Service Control Script
PROG="/usr/local/nginx/sbin/nginx"
PIDF="/usr/local/nginx/logs/nginx.pid"
case "$1" in
  start)
    $PROG
    ;;
  stop)
    kill -s QUIT $(cat $PIDF)
    ;;
  restart)
    $0 stop
    $0 start
    ;;
  reload)
    kill -s HUP $(cat $PIDF)
    ;;
  *)
        echo "Usage: $0 {start|stop|restart|reload}"
        exit 1
esac
exit 0
 
chmod +x /etc/init.d/nginx
chkconfig --add nginx  //开机自启动
service nginx start
 
第二步:安装MySQL
 
这里以版本5.5.24为例
 
1.编译安装MySQL
 
yum -y install ncurses-devel                  //ncurses是字符终端下屏幕控制的基本库//
 
tar xzvf mysql-5.5.24.tar.gz -C /opt
cd /opt/mysql-5.5.24
cmake  \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS=all \
-DSYSCONFDIR=/etc \
-DMYSQL_DATADIR=/home/mysql/ \
-DMYSQL_UNIX_ADDR=/home/mysql/mysql.sock \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_SSL=system \
-DMYSQL_TCP_PORT=3306 \
-DENABLE_DOWNLOADS=1 \
-DWITH_SSL=bundled
 
make && make install
 
2.优化调整
 
cp support-files/my-medium.cnf /etc/my.cnf    //复制配置文件
cp support-files/mysql.server /etc/init.d/mysqld  //复制启动脚本
chmod +x /etc/init.d/mysqld     
chkconfig --add mysqld
chkconfig --level 35 mysqld on
echo "PATH=$PATH:/usr/local/mysql/bin/" >> /etc/profile //配置环境变量
. /etc/profile            (注意:"."后面有空格)
 
3.初始化数据库
 
useradd -s /sbin/nologin mysql
chown -R mysql.mysql /usr/local/mysql
 
/usr/local/mysql/scripts/mysql_install_db \
--user=mysql \
--ldata=/var/lib/mysql \
--basedir=/usr/local/mysql \
--datadir=/home/mysql
 
ln -s /var/lib/mysql/mysql.sock  /home/mysql/mysql.sock
 
4.启动MySQL服务
 
vi /etc/init.d/mysqld    //配置启动脚本
 basedir=/usr/local/mysql
 datadir=/home/mysql
 
service mysqld start
 
mysqladmin -u root -p password "abc123"  //为root用户设置密码
 
第三步:安装PHP解析环境
 
•Nginx配置网页动静分离、解析PHP,有两种方法可以选择:使用PHP的FPM模块,或者将访问PHP页面的Web请求转交给Apache服务器去处理。
•较新版本的PHP已经自带FPM (FastCGI Process Manager, FastCGI进程管理器)模块,用来对PHP解析实例进行管理和优化解析效率。FastCGI 将静态请求和动态脚本语言分离开,Nginx 专门处理静态请求,并转发动态请求给PHP-FPM。单服务器的
LNMP架构通常使用FPM的方式来解析PHP。
 
1.使用yum工具安装PHP的依赖包。
 
//首先安装GD库及GD库关联程序
yum -y install \
gd \
libxml2-devel \
libjpeg-devel \
libpng-devel \
zlib-devel \
fontconfig-devel \
openssl-devel \
bzip2-devel
 
2.编译安装PHP
 
tar jxvf php-5.4.5.tar.bz2 -C /opt
cd /opt/php-5.4.5
./configure \
--prefix=/usr/local/php5 \
--with-gd \
--with-zlib \
--with-mysql=/usr/local/mysql \
--with-config-file-path=/usr/local/php5 \
--enable-mbstring \
--with-jpeg-dir \
--with-openssl \
--disable-ipv6 \
--enable-fpm    //添加fpm模块
 
make && make install
 
3.复制模板文件作为PHP的主配置文件
 
cp php.ini-development /usr/local/php5/php.ini
 
4.为PHP安装加速器,用于提高PHP的解析效率
 
tar xzvf ZendGuardLoader-php-5.3-linux-glibc23-i386.tar.gz -C /opt
cd /opt/ZendGuardLoader-php-5.3-linux-glibc23-i386/php-5.3.x
cp ZendGuardLoader.so /usr/local/php5/lib/php
 
修改PHP的主配置文件,开启ZendGuardLoader模块
 
vi /usr/local/php5/php.ini
[Zend Guard Loader]
zend_extension=/usr/local/php5/lib/php/ZendGuardLoader.so
zend_loader.enable=1  //1表示开启
 
第四步:配置Nginx支持PHP环境
 
1.PHP-FPM模块配置
 
(1)复制模板文件php-fpm.conf.default作为PHP-FPM的配置文件
 
cd /usr/local/php5/etc/
cp  php-fpm.conf.default php-fpm.conf
 
(2)修改php-fpm.conf配置文件
 
useradd -M -s /sbin/nologin php  //创建php用户
 
vi php-fpm.conf //修改
 
pid = run/php-fpm.pid    //确定pid文件位置
 
user = php              //表示由php用户调用
group = php
 
pm.max_children=50      //fpm模块的最大进程数
 
pm.start_servers = 20  //启动时开启的进程数
 
pm.min_spare_servers = 5  //最小空闲进程数
 
pm.max_spare_servers = 35 //最大空闲进程数
 
(3)启动PHP-FPM模块,进程使用9000端口
 
//设置软链接,方便命令使用
ln -s /usr/local/php5/bin/* /usr/local/bin/
ln -s /usr/local/php5/sbin/* /usr/local/sbin/
 
/usr/local/sbin/php-fpm
netstat -lntup | grep 9000

dawei

【声明】:九江站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。