上接上篇博客继续搭建LNMP架构,上一篇博客链接:搭建 LNMP 架构 之 nginx配置、MySQL安装(上篇)
一、PHP解析环境
- 配置网页动静分离,解析PHP,有两种方法可以选择
- 使用PHP的FPM模块
- 将访问PHP页面的Web请求转交给Apache服务器去处理
- 较新版本的PHP已经自带FPM模块,用来对PHP解析实例进行管理、优化解析效率
- FastCGI将Http Server和动态脚本语言分离开
- Nginx专[ ]处理静态请求,转发动态请求
- PHP_ FPM专[门解析PHP动态请求
- 单服务器的LNMP架构通常使用FPM的方式来解析PHP
- PHP-FPM(FastCGI Process Manager: FastCGI进程管理器)
- 是一个PHPFastCGI 管理器,由于Nginx服务器不能处理动态页面
二、PHP配置安装
1、安装环境依赖包
yum -y install \
libjpeg \
libjpeg-devel \
libpng lbpng-devel \
freetype freetype-devel \
libxml2 \
libxml2-devel \
zlib zlib-devel \
curl curl-devel \
openssl openssl-devel
//参数解释
libjpeg libjpeg-devel //识别jpg图片
libpng lbpng-devel //识别png图片
freetype freetype-devel //字体识别
libxml2 libxml2-devel //用于xml文件的识别
zlib zlib-devel //压缩功能
curl curl-devel //curl支持网页上传、下载
openssl openssl-devel //身份验证登录
2、挂载共享文件,解压php安装包
cd /mnt/LNMP-C7/
tar jxvf php-7.1.10.tar.bz2 -C /opt/
3、编译配置
cd /opt/php-7.1.10/
./configure \
--prefix=/usr/local/php \
--with-mysql-sock=/usr/local/mysql/mysql.sock \
--with-mysqli \
--with-zlib \
--with-curl \
--with-gd \
--with-jpeg-dir \
--with-png-dir \
--with-freetype-dir \
--with-openssl \
--enable-fpm \
--enable-mbstring \
--enable-xml \
--enable-session \
--enable-ftp \
--enable-pdo \
--enable-tokenizer \
--enable-zip
4、make && make install
5、php有三个配置文件。
php. ini 核心配置文件 php-fpm.conf 进程服务配置文件 www.conf 扩展配置文件
cp php.ini-development /usr/local/php/lib/php.ini
vim /usr/local/php/lib/php.ini
在行尾模式输入 :/default_sock 查找
mysqli.default_socket =/usr/local/mysql/mysql.sock
在行尾模式输入 :/data.time 查找
date.timezone = Asia/Shanghai
6、验证安装的模块
/usr/local/php/bin/php -m
三、配置及优化FPM模块
1、复制一份默认模板作为php-fpm的配置文件,再加以修改。
cd /usr/local/php/etc/
cp php-fpm.conf.default php-fpm.conf
vim php-fpm.conf
//修改内容:
pid = run/php-fpm.pid //注释符号去掉
同样这个php-fpm.d也要复制一份默认模板。
cd /usr/local/php/etc/php-fpm.d/
cp www.conf.default www.conf
2、启动配置
/usr/local/php/sbin/php-fpm -c /usr/local/php/lib/php.ini
netstat -natp | grep 9000
3、优化路径
ln -s /usr/local/php/bin/* /usr/local/bin/
ps aux | grep -c "php-fpm" //结果
四、nginx支持PHP功能配置
1、修改nginx的配置文件
vim /usr/local/nginx/conf/nginx.conf
//在合适的位置去掉注释,修改以下内容
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /usr/local/nginx/html$fastcgi_script_name;
include fastcgi_params;
}
2、设置检验网页index.php
cd /usr/local/nginx/html/ //先备份index.html
mv index.html index.html.bak
cp index.html.bak index.php
vim index.php
<?php
phpinfo();
?>
3、开启 nginx 服务
systemctl restart nginx
//在网页测试“http://192.168.220.134/index.php”
五、新建数据库bbs
下面测试数据库工作是否正常
mysql -uroot -p //登录MySQL
//新建bbs库,并设置密码
CREATE DATABASE bbs;
GRANT all ON bbs.* TO 'bbsuser'@'%' IDENTIFIED BY 'admin123';
GRANT all ON bbs.* TO 'bbsuser'@'%' IDENTIFIED BY 'admin123';
flush privileges; //更新
vim /usr/local/nginx/html/index.php
##原来的测试页内容更改如下
<?php
$link=mysqli_connect( '192.168.220.134','bbsuser','admin123' );
if($link) echo "<h1>Success!!</h1>";
else echo "Fail!!";
?>
在网页测试“http://192.168.220.134/index.php”
六、Discuz!社区论坛的部署
1、解压安装
cd /mnt/LNMP-C7
unzip Discuz_X3.4_SC_UTF8.zip -d /opt/
2、授权安装论坛
cd /opt/dir_SC_UTF8/
cp -r upload/ /usr/local/nginx/html/bbs/
cd /usr/local/nginx/html/bbs/
chown -R root:nginx ./config/
chown -R root:nginx ./data/
chown -R root:nginx ./uc_client/
chown -R root:nginx ./uc_server/
chmod -R 777 ./config/
chmod -R 777 ./data/
chmod -R 777 ./uc_client/
chmod -R 777 ./uc_server/
3、在浏览器输入 http://192.168.220.134/bbs/install/index.php 安装
到这里我们的LNMP架构已经搭建成功了。