【实战指南】CentOS 7 LAMP环境全栈部署Discuz论坛:从零到上线

张开发
2026/6/6 20:32:52 15 分钟阅读
【实战指南】CentOS 7 LAMP环境全栈部署Discuz论坛:从零到上线
1. 环境准备从零搭建CentOS 7服务器刚接触服务器运维的朋友可能会觉得搭建论坛很复杂其实只要跟着步骤一步步来完全可以在半小时内搞定。我去年帮朋友部署过十几个Discuz论坛总结了一套最稳定的方案。首先你需要一台纯净的CentOS 7系统的服务器建议选择最小化安装版本。这里有个坑要注意某些云服务商提供的镜像可能预装了其他组件最好重装为官方纯净版。登录服务器后先做三件事更新系统yum update -y yum upgrade -y关闭SELinux避免权限问题setenforce 0并修改/etc/selinux/config文件中的SELINUXdisabled配置防火墙开放80端口firewall-cmd --zonepublic --add-port80/tcp --permanent然后firewall-cmd --reload建议新建专用用户来管理服务比如useradd -m webadmin passwd webadmin usermod -aG wheel webadmin这样比直接用root更安全。我曾经遇到过因为长期使用root操作导致误删系统文件的情况血泪教训啊2. LAMP环境搭建稳如老铁的组合2.1 MySQL安装与加固数据库是论坛的核心推荐用MySQL 5.7Discuz对新版兼容性更好yum install -y https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm yum install -y mysql-community-server启动服务有个小技巧systemctl start mysqld --now systemctl enable mysqld首次安装后一定要改密码MySQL 5.7会生成临时密码查看方法grep temporary password /var/log/mysqld.log然后用这个密码登录并修改mysql -uroot -p ALTER USER rootlocalhost IDENTIFIED BY 你的新密码;建议再运行安全脚本mysql_secure_installation这个脚本会移除测试数据库、禁止远程root登录等。我遇到过因为没运行这个脚本导致数据库被爆破的情况切记2.2 Apache调优实战安装Apache很简单yum install -y httpd systemctl start httpd --now systemctl enable httpd但默认配置需要优化编辑/etc/httpd/conf/httpd.confKeepAlive On MaxKeepAliveRequests 100 KeepAliveTimeout 15 IfModule prefork.c StartServers 10 MinSpareServers 10 MaxSpareServers 20 ServerLimit 256 MaxClients 256 MaxRequestsPerChild 4000 /IfModule这些参数根据服务器配置调整2核4G的机器用这个配置可以支撑300人同时在线。记得测试配置是否正确apachectl configtest2.3 PHP环境配置技巧Discuz推荐PHP 5.6/7.0但实测7.2更稳定yum install -y epel-release yum-utils yum install -y http://rpms.remirepo.net/enterprise/remi-release-7.rpm yum-config-manager --enable remi-php72 yum install -y php php-fpm php-mysqlnd php-gd php-mbstring php-xml修改/etc/php.ini关键参数max_execution_time 300 memory_limit 256M post_max_size 50M upload_max_filesize 50M date.timezone Asia/Shanghai配置PHP-FPM与Apache联动编辑/etc/httpd/conf.d/php.confFilesMatch \.php$ SetHandler proxy:fcgi://127.0.0.1:9000 /FilesMatch3. Discuz部署全流程3.1 源码获取与准备推荐用官方最新版cd /tmp wget https://download.comsenz.com/DiscuzX/3.4/Discuz_X3.4_SC_UTF8.zip unzip Discuz_X3.4_SC_UTF8.zip移动文件到web目录cp -r upload/* /var/www/html/ chown -R apache:apache /var/www/html find /var/www/html -type d -exec chmod 755 {} \; find /var/www/html -type f -exec chmod 644 {} \;特别提醒不要直接给777权限这是我踩过最大的坑会导致严重安全问题。正确的做法是chmod -R 750 /var/www/html/data /var/www/html/uc_server/data chmod -R 770 /var/www/html/config /var/www/html/uc_server/data/install3.2 安装过程详解访问服务器IP开始安装有几个关键点要注意数据库配置页主机地址用localhost而不是127.0.0.1性能更好建议新建专用数据库用户不要用root表前缀建议修改增强安全性管理员账户密码必须包含大小写字母数字特殊字符安全提问一定要设置防止社工安装完成后立即删除install目录rm -rf /var/www/html/install备份config目录tar -zcvf discuz_config.tar.gz /var/www/html/config4. 常见问题解决方案4.1 数据库连接失败错误现象安装时提示无法连接数据库 排查步骤检查MySQL服务状态systemctl status mysqld测试本地连接mysql -u用户名 -p密码检查防火墙firewall-cmd --list-ports查看MySQL错误日志tail -50 /var/log/mysqld.log4.2 文件权限问题典型报错目录不可写 解决方法setfacl -R -m u:apache:rwx /var/www/html/data setfacl -R -m u:apache:rwx /var/www/html/uc_server/data restorecon -Rv /var/www/html4.3 性能优化建议安装后必做的几件事开启OPcache编辑/etc/php.d/10-opcache.ini配置Redis缓存安装php-redis扩展开启Apache压缩修改httpd.conf添加mod_deflate配置设置定时任务清理缓存crontab -e添加0 3 * * * /usr/bin/php /var/www/html/cron.php最后提醒大家一定要定期备份可以用这个简单脚本#!/bin/bash mysqldump -u用户名 -p密码 数据库名 /backup/discuz_$(date %Y%m%d).sql tar -zcvf /backup/discuz_files_$(date %Y%m%d).tar.gz /var/www/html

更多文章