部署LNMP

这篇博客介绍了如何在Linux系统中部署PHP-FPM和Nginx,包括安装依赖、配置PHP、生成php.ini文件、设置php-fpm启动脚本、启动服务以及配置Nginx支持PHP。重点强调了PHP-FPM在PHP解析中的作用,以及在Nginx配置中启用PHP处理的设置。
摘要由CSDN通过智能技术生成

在nginx中,我们使用的是php-fpm来对php页面解析,PHP-FPM其实是PHP源代码的一个补丁(模块),使用fastcgi协议对php页面做解析执行的。

在php5.5.3之前需要装PHP-FRM补丁包,5.5.3之后PHP中直接整合了PHP-FPM无需下载补丁包

目录

1.部署php

1)安装依赖包:

2)安装libmcrypt

3)解压php包

2.安装php

1)预编译

2)编译安装

3.生成php.ini 配置文件

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

2)修改默认运行账号 

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

1)赋予执行权限 

 5.添加开机启动

1)启动服务

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

 7.配置nginx支持index.php

1)创建index.php文件

 2)创建mysql创建测试账号


1)安装依赖包:

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

2)安装libmcrypt

实现php安全的依赖包

上传软件包:

解压,切到解压目录、指定安装路径、make编译安装

tar zxf libmcrypt-2.5.7

cd libmcrypt-2.5.7

./configure --prefix=/usr/local/libmcrypt && make && make install

3)解压php包

tar zxvf php-5.6.36.tar.gz -C /usr/local/src/

2.安装php

1)预编译

cd /usr/local/src/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

参数选项:

Php配置选项中文手册

http://php.net/manual/zh/configure.about.php

相关选项的解释:

--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-openssl              #支持openssl模块

--enable-sockets             #启用socket支持

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

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

--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

2)编译安装

make 

make  install

3.生成php.ini 配置文件

cp /usr/local/src/php-5.6.36/php.ini-production /usr/local/php5.6/etc/php.ini

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

cd /usr/local/php5.6/etc/

cp php-fpm.conf.default php-fpm.conf 

2)修改默认运行账号 

修改默认运行用户,组为www,跟nginx的程序用户对应

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

user = www
group = www

pid = run/php-fpm.pid 

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

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

pm.min_spare_servers = 20 # 最小 fpm 空闲进程,一般和 pm.start对应即可,当空闲进程小于20   php会增加空闲进程。

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

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

 cp /usr/local/src/php-5.6.36/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm

1)赋予执行权限 

chmod +x /etc/init.d/php-fpm

 5.添加开机启动

chkconfig --add php-fpm

 chkconfig php-fpm on

1)启动服务

/etc/init.d/php-fpm start

 查看端口状态:

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

 location / {
            root   /var/www/html;
            index  index.php ;
        }

    location ~ .*\.(php|php5)$ {
            root /var/www/html;
            fastcgi_pass 127.0.0.1:9000;
            fastcgi_index index.php;
            include fastcgi.conf;
}

 7.配置nginx支持index.php

1)创建index.php文件

vim index.php

<?php
        phpinfo();    #php代码函数,获取php信息
?>

vim test.php 

<?php
$link=mysql_connect('192.168.30.22','test','123');
if ($link) echo "connection success....";
mysql_close();
?>

 2)创建mysql创建测试账号

 创建授权test账号

mysql -uroot -p123

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

mysql> flush privileges;

测试:

http://192.168.30.150/

 http://192.168.30.150/test.php

访问数据库成功。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蟹黄堡!

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值