栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

部署LNMP

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

部署LNMP

在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

vim test.php 

 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

访问数据库成功。 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/943884.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号