Nginx调优(3)

部署LNMP

    在Nginx中,我们使用的是php-fpm来对php页面解析,PHP-FPM其实是PHP源代码的一个补丁,指在将FastCGI进程管理整合进PHP包中。必须将它patch到你的PHP源代码中,再编译安装PHP后才可以使用。

     从PHP5.3.3开始,PHP中直接整合了PHP-FPM,所以从PHP5.3.3版本以后,不需要下载PHP-FPM补丁包了

安装依赖:

[root@wzy ~]# yum -y install gcc autoconf  freetype gd libpng libpng-devel libjpeg libxml2 libxml2-devel zlib curl curl-devel freetype-devel libjpeg-devel bzip2 bzip2-devel openssl openssl-devel

安装libmcrypt

上传libmcrypt软件包和php软件包

[root@ wzy ~]# ls

anaconda-ks.cfg    libmcrypt-2.5.7.tar.gz  nginx-1.10.3.tar.gz  php-5.6.36.tar.gz

[root@ wzy ~]# tar zxf libmcrypt-2.5.7.tar.gz

[root@ wzy ~]# cd libmcrypt-2.5.7/

[root@ wzy libmcrypt-2.5.7]# ./configure --prefix=/usr/local/libmcrypt && make && make install

解压PHP包

[root@ wzy ~]# tar -zxvf php-5.6.36.tar.gz -C /usr/local/src/

安装php

预编译

[root@ wzy ~]# cd /usr/local/src/php-5.6.36/

[root@ wzy php-5.6.36]# ./configure --prefix=/usr/local/php5.6 --with-mysql=mysqlnd --with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd --with-openssl --enable-fpm --enable-sockets --enable-sysvshm --enable-mbstring --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --with-mhash --with-mcrypt=/usr/local/libmcrypt --with-config-file-path=/etc --with-config-file-scan-dir=/usr/local/php5.6/etc/ --with-bz2 --enable-maintainer-zts

参数选项:

--prefix=/usr/local/php5.6   //安装位置

--with-mysql=mysqlnd     //支持mysql

--with-pdo-mysql=mysqlnd  //支持pdo模块

--with-mysqli=mysqlnd     //支持mysqli模块

注:上面的三选项的作用:数据库与php不在一个服务器上,指定此种方式,安装数据库连接驱动

--enable-mbstring                    #多字节字符串的支持

--with-curl                                #支持CURL

--with-gd                              #支持gd库

--enable-fpm                           #支持构建fpm

--with-config-file-path                  #设置配置文件路径

--with-openssl              #支持openssl模块

--enable-sockets             #启用socket支持

--enable-sysvshm                     #启用系统共享内存支持

--enable-mbstring                    #多字节字串、像我们的中文就是多字节字串

--with-freetype-dir                    #支持freetype、就要装freetype-devel、跟字体相关的、字体解析工具

--with-jpeg-dir

--with-png-dir

注:上面的二选项的作用:处理jpeg、png图片的、php可以动态生成jpeg图片

--with-zlib                                 #是个压缩库、在互联网传输时用来压缩传输的

--with-libxml-dir=/usr             #这个libxml是用来解析xml的、指定/usr下

--enable-xml                          #支持xml的

--with-mhash                         #支持mhash

--with-mcrypt=/usr/local/libmcrypt #libmcrypt-devel这个程序包所指定的

--with-config-file-path=/usr/local/php5.6/etc #指定配置文件的存放路径的

--with-config-file-scan-dir=/etc/php.d  #配置文件扫描路径

--with-bz2                        #支持BZip2

编译

 [root@ wzy php-5.6.36]# make

安装

[root@ wzy php-5.6.36]# make install

生成php.ini配置文件

[root@ wzy ~]# cp /usr/local/src/php-5.6.36/php.ini-production  /usr/local/php5.6/etc/php.ini

修改fpm配置php-fpm.conf.default文件名称

[root@ wzy ~]# cd /usr/local/php5.6/etc/

[root@ wzy etc]# cp php-fpm.conf.default php-fpm.conf

修改默认运行账号

修改默认运行用户,组为www

[root@ wzy etc]# vim php-fpm.conf

user = www   #nginx程序用户

group = www   #nginx用户组

pid = run/php-fpm.pid

listen = 0.0.0.0:9000 

pm.max_children =300  #fpm最大进程数

pm.start_servers =20    #fpm服务启动时开启进程数量

pm.min_spare_servers = 20  #fpm的最小空闲进程数量

pm.max_spare_servers = 100  #fpm的最大空闲进程数量

复制php-fpm启动脚本到init.d

[root@ wzy ~]# cp /usr/local/src/php-5.6.36/sapi/fpm/init.d.php-fpm  /etc/init.d/php-fpm

赋予执行权限

[root@ wzy ~]# chmod +x /etc/init.d/php-fpm

添加开机启动

[root@ wzy ~]# chkconfig --add php-fpm

[root@ wzy ~]# chkconfig php-fpm on

启动服务

[root@ wzy ~]# /etc/init.d/php-fpm start

 

查看端口监听状态

[root@wzy ~]# netstat -antpu | grep php-fpm

在nginx.conf文件的server中添加下面内容支持php

location / {

            root   /var/www/html;

            index  index.php index.html index.htm; #添加index.php

        }



location ~ .*\.(php|php5)?$ {

            root   /var/www/html;

            fastcgi_pass 127.0.0.1:9000;

            fastcgi_index index.php;

            include fastcgi.conf;

}

创建index.php文件

[root@wzy]# vi /var/www/html/index.php

<?php

        phpinfo();

?>

[root@wzy]# vi /var/www/html/test.php

<?php

$link=mysql_connect('192.168.10.6','test','123456');  #另一台虚拟机IP和MySQL中的用户和密码

if ($link)echo "connection success......";

mysql_close();

?>

创建mysql测试账号

192.168.10.6为源码安装mysql,创建授权test账号

[root@wzy2 ~]# mysql -uroot -p123456

mysql> grant all on *.* to test@'%' identified by '123456';

mysql> flush privileges;

测试

http://192.168.10.4

http://192.168.10.4/test.php

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值