Discuz论坛搭建教程,社区网站服务器选型
想搭建一个Discuz论坛,但不确定服务器怎么选、环境怎么配?
这篇教程从服务器选型讲起,到Discuz安装完成,每一步都给出具体命令和操作路径,零基础也能跟着做。
服务器选型:社区网站该买什么样的机器
Discuz本身对硬件要求不高,但社区网站的特点是并发访问多、数据库读写频繁,选型时重点看内存和磁盘IO,而不是CPU核数。
- CPU:2核起步,4核更稳妥。Discuz是PHP程序,单次请求不重,但并发上来后CPU容易跑满。
- 内存:至少2GB,建议4GB。MySQL和PHP-FPM都是吃内存的大户,1GB内存跑起来会频繁OOM。
- 磁盘:必须SSD。社区论坛的数据库随机读写多,机械硬盘的IO延迟会让页面打开速度明显变慢。
- 带宽:3Mbps起步,图片多或附件下载频繁的建议5Mbps以上。
- 系统:CentOS 7.x或Ubuntu 20.04/22.04,两者教程都多,新手建议选CentOS 7。
结论:2核4G+SSD+3M带宽是Discuz论坛的起步配置,日活500人以内够用。
如果预算有限,优先加内存而不是加CPU。
搭建前的环境准备
推荐用宝塔面板来管理服务器,省去手动编译安装的麻烦。
以下操作以CentOS 7为例。
安装宝塔面板
用SSH工具连接服务器,执行官方安装命令(以实际官网最新命令为准):
yum install -y wget && wget -O install.sh https://download.bt.cn/install/install_6.0.sh && sh install.sh
安装完成后会输出面板地址、用户名和密码,务必保存好。
安装LNMP环境
登录宝塔面板后,会提示安装套件。
选择LNMP(Nginx + MySQL + PHP),版本建议:
- Nginx:1.20或1.22
- MySQL:5.7(Discuz对5.7兼容性最好,8.0需要额外调整)
- PHP:7.4(Discuz X3.5推荐版本,兼容性和性能平衡)
安装方式选编译安装,虽然慢但更稳定。
创建站点和数据库
在宝塔面板中:
- 点击左侧「网站」→「添加站点」,填入你的域名,根目录保持默认,PHP版本选7.4。
- 点击左侧「数据库」→「添加数据库」,记下数据库名、用户名和密码。
- 在「网站」→「设置」→「SSL」中申请Let's Encrypt证书,开启HTTPS。
安装Discuz论坛
下载并上传程序
从Discuz官方GitHub或官网下载最新版X3.5的UTF-8简体中文包。
下载后解压,将upload目录内的所有文件上传到站点根目录。
也可以用命令行直接下载:
cd /www/wwwroot/你的域名
git clone https://gitee.com/Discuz/DiscuzX.git .
设置目录权限
Discuz需要以下目录可写:
chmod -R 755 /www/wwwroot/你的域名
chown -R www:www /www/wwwroot/你的域名
运行安装向导
浏览器访问 http://你的域名/install/,按提示操作:
- 同意许可协议。
- 检查环境,确保所有项都是绿色对勾。如果PHP扩展缺失,在宝塔「软件商店」→「PHP 7.4」→「设置」→「安装扩展」中补装。
- 选择「全新安装」,填入之前创建的数据库信息。
- 设置管理员账号和密码。
- 安装完成后,务必删除
install目录:
rm -rf /www/wwwroot/你的域名/install
避坑指南:新手最容易卡住的几个点
- PHP函数被禁用:宝塔默认禁用了
exec、system等函数,Discuz部分功能需要它们。在PHP设置→禁用函数中删除这些限制。 - 伪静态未配置:Discuz需要伪静态规则。在宝塔「网站」→「设置」→「伪静态」中选择
discuz规则并保存。 - 数据库连接失败:检查数据库用户名和密码是否包含特殊字符,以及MySQL是否允许本地连接。
- 上传附件失败:确认
data目录权限为755且属主为www。 - 后台无法登录:清除浏览器缓存,或检查
config/config_global.php中的authkey是否为空。
结论:安装失败最常见的原因是目录权限和PHP扩展缺失,按上面步骤逐项检查基本都能解决。
验证与基础优化
安装完成后,访问论坛首页,用管理员账号登录后台,检查以下项:
- 发帖、回帖功能正常
- 上传图片和附件正常
- 伪静态生效(帖子URL不含
forum.php?mod=这类参数) - HTTPS访问正常,无混合内容警告
基础优化建议:
- 在宝塔中开启Nginx缓存和Gzip压缩
- 安装Redis扩展,在Discuz后台开启Redis缓存
- 设置每日自动备份数据库和网站文件
判断标准:如果论坛首页能在2秒内打开,发帖无报错,说明基础环境已经搭好了。
常见问题
Discuz支持PHP 8吗?
X3.5版本对PHP 8.0有基础兼容,但部分插件可能报错。生产环境建议用PHP 7.4,稳定优先。
服务器需要备案吗?