前言
本指南旨在帮助读者从零开始,在 CentOS 7 系统上搭建 LNMP 环境并部署 Discuz!论坛。LNMP 作为主流的 Web 服务架构,由 Linux、Nginx、MySQL、PHP 四部分协同组成,是运维工程师的必备技能,也是面试中的常见考点。文档涵盖完整的安装配置流程、两种 MySQL 部署方式对比以及常见问题解决方案,力求简洁实用,便于快速上手与复习参考。
一、部署流程
1.1 环境准备
关闭防火墙和 SELinux - # 停止并禁用防火墙
- systemctl stop firewalld
- systemctl disable firewalld
- # 关闭SELinux
- setenforce 0
复制代码
1.2 安装 Nginx 服务
流程:
- 安装编译依赖包
- 创建 Nginx 运行用户
- 解压并编译安装 Nginx
- 优化命令路径,创建软链接到系统 PATH 目录
- 添加 Nginx 系统服务
- 验证 Nginx 安装
1.3 安装 MySQL 数据库
- 安装依赖包
- 创建 mysql 用户
- 解压并编译安装
- 配置 my.cnf
- 修改目录权限并初始化
- 添加系统服务
- 设置 root 密码
1.4 安装 PHP 解析环境
- 安装依赖包
- 编译安装 PHP
- 优化命令路径
- 调整 PHP 配置文件:(1)php.ini:主配置文件 ;(2)php-fpm.conf:进程服务配置文件;(3)www.conf:进程池扩展配置文件。
- 启动 PHP-FPM
- 添加 PHP-FPM 系统服务
- 配置 Nginx 支持 PHP 解析
- 验证 PHP 解析
1.5 验证 PHP 与 MySQL 连接
1.6 部署 Discuz,社区论坛
- 解压论坛源码
- 调整目录权限
- 访问安装页面
- 填写安装信息
- 完成安装并访问论坛
二、Nginx 配置文件
三、数据库创建命令
四、网站首页截图
五、发帖成功截图
六、回复帖子截图
七、部署过程中遇到的问题及解决方法
- 没有给权限导致安装不了
解决方法:需要授予权限 - mysql修改密码开始时没有密码,不需要再次输入
总结
LNMP 是 Linux + Nginx + MySQL + PHP 的 Web 服务组合。 部署分六步:关防火墙装依赖 → 编译安装 Nginx 并配系统服务 →编译安装 MySQL 5.7 获取临时密码改密并建库建用户 → 编译装 PHP 7.1 启用 FPM 配三个核心文件 → 改 Nginx 配置转发 PHP 请求到 PHP-FPM(9000 端口)→ 解压 Discuz!复制 upload 目录,调 config/data 等目录权限可写,浏览器访问安装页填信息完成。 核心是三者联动:Nginx 处理静态请求并转发动态请求给 PHP-FPM,PHP-FPM 解析脚本并与 MySQL 交互存取数据。常见问题集中在端口占用、目录权限、密码策略、FastCGI 通信失败,排查按 Nginx 日志 → PHP-FPM 日志 → MySQL 日志顺序定位。 |