1. 项目概述
作为一名长期从事Web应用部署的运维工程师,我经常需要为不同规模的社区搭建论坛系统。Discuz作为国内最成熟的论坛解决方案之一,其稳定性和丰富的功能使其成为众多社区的首选。今天我将分享在RHEL9系统上基于LNMP架构部署Discuz!X3.5的完整过程,这不仅是简单的安装教程,更包含了我多年实践中积累的优化技巧和安全建议。
LNMP(Linux+Nginx+MariaDB+PHP)是目前最流行的Web服务架构之一,相比传统的LAMP(使用Apache),Nginx在高并发场景下表现更出色,资源占用更低。而MariaDB作为MySQL的分支,完全兼容MySQL的同时,在性能和功能上都有所提升。这套组合特别适合中小型论坛的部署需求。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 环境准备与系统配置
2.1 基础系统设置
在开始部署前,我们需要对RHEL9系统进行必要的配置。虽然实验环境中我们关闭了安全组件,但我会同时说明生产环境中的正确做法。
首先设置主机名,这有助于后续维护时快速识别服务器:
bash复制hostnamectl set-hostname discuz-server
exec bash
对于实验环境,我们可以临时关闭防火墙和SELinux以简化流程:
bash复制systemctl stop firewalld
systemctl disable firewalld
setenforce 0
注意:在生产环境中,绝对不建议直接关闭这些安全组件。正确的做法是:
- 保持firewalld开启,仅开放必要端口(80/443)
bash复制firewall-cmd --permanent --add-service=http firewall-cmd --permanent --add-service=https firewall-cmd --reload
- 将SELinux设置为permissive模式而非完全禁用
bash复制sed -i 's/SELINUX=enforcing/SELINUX=permissive/g' /etc/selinux/config
2.2 配置本地yum源
由于实验环境
