一、LNMP 架构解读
LNMP平台就是Linux、Ngnix、MySQL、PHP的组合架构,需要Linux服务器、MySQL数据库、PHP解析环境本案例在单台服务器上部署LNMP环境
案例架构
二、MySQL安装配置
为了与Nginx、PHP环境保持一致,此处选择采用源代码编译的方式安装MySQL组件
MySQL部署的方法
·编译安装MySQL
·优化调整
·初始化数据库
·启动MySQL服务并设置root数据库账号的密码
三、PHP解析环境的安装
配置网页动静分离,解析PHP,有两种方法可以选择
·使用PHP的FPM模块
·将访问PHP页面的Web请求转交给Nginx服务器去处理
较新版本的PHP已经自带FPM模块,对PHP解析实例进行管理、优化解析效率
·FastCGI将Http Server和动态脚本语言分离开
·Nginx专门处理静态请求,转发动态请求
·PHP-FPM专门解析PHP动态请求
单服务器的LNMP架构通常使用FPM方式来解析PHP
PHP编译安装步骤
·编译安装PHP
编译选项时添加“--enable-fpm”以启用此 模块
·安装后的调整
主要是配置文件的建立与相应命令工具的路径优化
·安装ZendGuardLoader(提高PHP解析效率),并进行加载配置
四、配置Nginx支持PHP环境
调用本机的php-fpm进程配置方法
·建立FPM配置文件php-fpm.conf,修改配置选项
PID文件、运行用户、服务进程数等
·启动php-fpm进程
配置Nginx支持PHP解析
·在Nginx的配置文件的server{}配置段中设置将PHP的网页请求转给FPM模块处理
PHP页面访问测试
五、LNMP下部署Discuz
官方网站: Discuz! 官方站 - PHP 开源论坛 - Powered by Discuz!
部署Discuz论坛系统
·下载并解压discuz代码包
·将upload文件夹上传到网站的网页目录,将修改权限为777
·创建所需要的数据库,如bbs,并授权给runbbs用户
·在浏览器中访问网站的bbs/install/目录,按提示操作便可完成安装
六、实际操作
实验开始前:关闭防火墙,拷贝安装包
systemctl stop firewalld.service
setenforce 0
1、编译安装NGINX
(1)、安装依赖包:
yum -y install pcre-devel zlib-devel gcc gcc-c++ make
(2)新建用户 组便于管理(nginx 服务程序默认 以 nobody 身份运行,建议为其创建专门的用户账户,以便更准确的控制访问权限)
useradd -M -s /sbin/nologin nginx
(3)编译安装Nginx
①cd到opt下面解压安装包
②新建用户 和组便于管理(nginx 服务程序默认 以 nobody 身份运行,建议为其创建专门的用户账户,以便更准确的控制访问权限)
useradd -M -s /sbin/nologin nginx
③编译安装Nginx
(1)cd nginx-1.120
./configure \
--prefix=/usr/local/nginx \
#安装路径
--user=nginx \
#指定用户名
--group=nginx \
#指定用户组
--with-http_stub_status_module
#启用此模块支持状态统计
(2)make && makeinstall
(3)ln -s /usr/local/nginx/sbin/nginx