目前官网用的是mysql5.5 + php7.4
先说下,目前官网网站是mysql5.6 + php7.3 算最低配要求,其他的自己尝试
一、推荐系统
建议使用 Linux LTS 系统:
首选:
Debian 12
推荐:
Ubuntu 22.04 LTS
Rocky Linux 9
不建议:
CentOS 7
原因:
CentOS 7 已经过维护期,不建议新项目继续使用。
如果是新服务器,推荐:
Debian 12 + 宝塔面板
二、推荐宝塔环境
宝塔软件商店建议安装:
Nginx
MySQL 8.0
PHP 8.1 或 PHP 8.2
phpMyAdmin
Pure-Ftpd 可选。
Redis 暂时不需要安装。
三、PHP 版本建议
推荐:
PHP 8.2
PHP 8.1
旧环境可用:
PHP 7.4
不建议:
PHP 5.x
新服务器建议优先使用 PHP 8.1 或 PHP 8.2。
四、PHP 必装或建议安装扩展
宝塔路径:
软件商店 → PHP 8.1 / PHP 8.2 → 安装扩展
建议安装:
mysqli
mysqlnd
curl
mbstring
fileinfo
openssl
opcache
exif
zip
说明:
mysqli:
数据库连接必需。
mysqlnd:
MySQL 驱动,建议安装。
curl:
七牛云上传需要。
mbstring:
中文字符串处理更稳定。
fileinfo:
文件类型判断,后续扩展更安全。
openssl:
HTTPS、签名、加密相关。
opcache:
PHP 加速核心,强烈建议开启。
exif:
图片信息识别,建议安装。
zip:
压缩包、附件相关,建议安装。
redis:
当前程序暂时不需要。
五、缓存建议
当前程序推荐使用:
OPcache
Nginx 静态缓存
七牛云对象存储 / CDN
暂时不建议一开始就使用 Redis。
原因:
1. 当前程序没有写 Redis 缓存逻辑。
2. 安装 Redis 不会自动让网站变快。
3. 论坛页面大多是动态页面,乱开页面缓存可能导致登录状态、用户信息显示错误。
4. 当前最有效的是 PHP OPcache、Nginx 静态资源缓存、图片附件走七牛云。
缓存推荐:
OPcache:
必须开启,PHP 文件编译缓存,提速明显。
Nginx 静态缓存:
建议开启,缓存 CSS、JS、图片等静态资源。
七牛云对象存储:
推荐开启,图片和附件走对象存储,减轻服务器压力。
Redis:
当前不需要,后续如果程序增加帖子列表缓存、用户会话缓存,再考虑。
Memcached:
当前不需要。
六、PHP 配置建议
宝塔路径:
软件商店 → PHP → 配置修改
推荐配置:
memory_limit = 256M
upload_max_filesize = 20M
post_max_size = 25M
max_execution_time = 60
max_input_time = 60
date.timezone = Asia/Shanghai
如果论坛附件只允许 2MB,可以设置为:
upload_max_filesize = 10M
post_max_size = 12M
注意:
后台程序里的附件大小设置,必须小于或等于 PHP 的 upload_max_filesize。
七、OPcache 配置建议
宝塔 PHP 扩展中安装 opcache 后,建议配置:
opcache.enable=1
opcache.enable_cli=0
opcache.memory_consumption=128
opcache.interned_strings_buffer=16
opcache.max_accelerated_files=10000
opcache.revalidate_freq=60
opcache.validate_timestamps=1
opcache.save_comments=1
如果网站稳定上线,不经常改代码,可以改成:
opcache.revalidate_freq=300
修改代码后,重启 PHP 即可生效。
八、Nginx 设置建议
建议使用:
Nginx 1.22 或更新版本
开启 Gzip:
gzip on;
gzip_min_length 1k;
gzip_comp_level 5;
gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript image/svg+xml;
静态资源缓存:
location ~* \.(jpg|jpeg|png|gif|webp|svg|ico|css|js|zip|rar)$ {
expires 30d;
access_log off;
}
如果附件已经走七牛云,本地图片压力会很小。
九、MySQL 设置建议
推荐:
MySQL 8.0
小型论坛 MySQL 8.0 足够。
建议配置:
innodb_buffer_pool_size = 256M
max_connections = 200
query_cache_type = 0
query_cache_size = 0
character-set-server = utf8mb4
collation-server = utf8mb4_general_ci
如果服务器是 2核4G:
innodb_buffer_pool_size = 512M
如果服务器是 4核8G:
innodb_buffer_pool_size = 1G
十、推荐服务器配置
刚上线:
1核2G,够用。
正常小论坛:
2核4G,推荐。
图片较多:
2核4G + 七牛云。
访问量较大:
4核8G + 七牛云 + CDN。
如果使用七牛云保存图片和附件,服务器压力会小很多。
十一、目录权限建议
网站目录所有者:
www
目录权限:
755
文件权限:
644
必须可写目录:
uploads
uploads/avatar
uploads/ads
如果启用七牛云,普通帖子附件不怎么依赖本地 uploads。
但头像、广告图片如果还走本地上传,仍然要保证 uploads 目录可写。
十二、七牛云配置建议
后台路径:
后台管理 → 站点设置 → 七牛云对象存储
填写:
开启七牛云上传:开启
AccessKey:你的 AccessKey
SecretKey:你的 SecretKey
Bucket:你的空间名称
七牛绑定域名:https://你的图片域名
上传地址:https://upload.qiniup.com
常见上传地址:
华东:
https://upload.qiniup.com
华北:
https://upload-z1.qiniup.com
华南:
https://upload-z2.qiniup.com
北美:
https://upload-na0.qiniup.com
东南亚:
https://upload-as0.qiniup.com
如果空间区域不是华东,需要把上传地址改成对应区域的上传域名。
十三、安全设置建议
宝塔里建议开启:
强制 HTTPS
防跨站攻击
关闭目录浏览
禁止访问备份文件
Nginx 可加:
location ~* \.(bak|old|sql|zip|tar|gz)$ {
deny all;
}
不要把数据库备份、旧源码包直接放在网站根目录。
十四、最终推荐方案
最稳、最快、最省心的组合:
Debian 12
Nginx
PHP 8.1 或 PHP 8.2
MySQL 8.0
OPcache
七牛云对象存储
HTTPS
Nginx 静态资源缓存
暂时不需要:
Redis
Memcached
复杂页面缓存
如果后面论坛访问量明显上来,再考虑给程序增加 Redis 缓存,比如缓存首页版块、帖子列表、热门帖子等。
当前阶段,OPcache + 七牛云 + Nginx 静态缓存,就是最合适的速度和稳定性方案。
先说下,目前官网网站是mysql5.6 + php7.3 算最低配要求,其他的自己尝试
一、推荐系统
建议使用 Linux LTS 系统:
首选:
Debian 12
推荐:
Ubuntu 22.04 LTS
Rocky Linux 9
不建议:
CentOS 7
原因:
CentOS 7 已经过维护期,不建议新项目继续使用。
如果是新服务器,推荐:
Debian 12 + 宝塔面板
二、推荐宝塔环境
宝塔软件商店建议安装:
Nginx
MySQL 8.0
PHP 8.1 或 PHP 8.2
phpMyAdmin
Pure-Ftpd 可选。
Redis 暂时不需要安装。
三、PHP 版本建议
推荐:
PHP 8.2
PHP 8.1
旧环境可用:
PHP 7.4
不建议:
PHP 5.x
新服务器建议优先使用 PHP 8.1 或 PHP 8.2。
四、PHP 必装或建议安装扩展
宝塔路径:
软件商店 → PHP 8.1 / PHP 8.2 → 安装扩展
建议安装:
mysqli
mysqlnd
curl
mbstring
fileinfo
openssl
opcache
exif
zip
说明:
mysqli:
数据库连接必需。
mysqlnd:
MySQL 驱动,建议安装。
curl:
七牛云上传需要。
mbstring:
中文字符串处理更稳定。
fileinfo:
文件类型判断,后续扩展更安全。
openssl:
HTTPS、签名、加密相关。
opcache:
PHP 加速核心,强烈建议开启。
exif:
图片信息识别,建议安装。
zip:
压缩包、附件相关,建议安装。
redis:
当前程序暂时不需要。
五、缓存建议
当前程序推荐使用:
OPcache
Nginx 静态缓存
七牛云对象存储 / CDN
暂时不建议一开始就使用 Redis。
原因:
1. 当前程序没有写 Redis 缓存逻辑。
2. 安装 Redis 不会自动让网站变快。
3. 论坛页面大多是动态页面,乱开页面缓存可能导致登录状态、用户信息显示错误。
4. 当前最有效的是 PHP OPcache、Nginx 静态资源缓存、图片附件走七牛云。
缓存推荐:
OPcache:
必须开启,PHP 文件编译缓存,提速明显。
Nginx 静态缓存:
建议开启,缓存 CSS、JS、图片等静态资源。
七牛云对象存储:
推荐开启,图片和附件走对象存储,减轻服务器压力。
Redis:
当前不需要,后续如果程序增加帖子列表缓存、用户会话缓存,再考虑。
Memcached:
当前不需要。
六、PHP 配置建议
宝塔路径:
软件商店 → PHP → 配置修改
推荐配置:
memory_limit = 256M
upload_max_filesize = 20M
post_max_size = 25M
max_execution_time = 60
max_input_time = 60
date.timezone = Asia/Shanghai
如果论坛附件只允许 2MB,可以设置为:
upload_max_filesize = 10M
post_max_size = 12M
注意:
后台程序里的附件大小设置,必须小于或等于 PHP 的 upload_max_filesize。
七、OPcache 配置建议
宝塔 PHP 扩展中安装 opcache 后,建议配置:
opcache.enable=1
opcache.enable_cli=0
opcache.memory_consumption=128
opcache.interned_strings_buffer=16
opcache.max_accelerated_files=10000
opcache.revalidate_freq=60
opcache.validate_timestamps=1
opcache.save_comments=1
如果网站稳定上线,不经常改代码,可以改成:
opcache.revalidate_freq=300
修改代码后,重启 PHP 即可生效。
八、Nginx 设置建议
建议使用:
Nginx 1.22 或更新版本
开启 Gzip:
gzip on;
gzip_min_length 1k;
gzip_comp_level 5;
gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript image/svg+xml;
静态资源缓存:
location ~* \.(jpg|jpeg|png|gif|webp|svg|ico|css|js|zip|rar)$ {
expires 30d;
access_log off;
}
如果附件已经走七牛云,本地图片压力会很小。
九、MySQL 设置建议
推荐:
MySQL 8.0
小型论坛 MySQL 8.0 足够。
建议配置:
innodb_buffer_pool_size = 256M
max_connections = 200
query_cache_type = 0
query_cache_size = 0
character-set-server = utf8mb4
collation-server = utf8mb4_general_ci
如果服务器是 2核4G:
innodb_buffer_pool_size = 512M
如果服务器是 4核8G:
innodb_buffer_pool_size = 1G
十、推荐服务器配置
刚上线:
1核2G,够用。
正常小论坛:
2核4G,推荐。
图片较多:
2核4G + 七牛云。
访问量较大:
4核8G + 七牛云 + CDN。
如果使用七牛云保存图片和附件,服务器压力会小很多。
十一、目录权限建议
网站目录所有者:
www
目录权限:
755
文件权限:
644
必须可写目录:
uploads
uploads/avatar
uploads/ads
如果启用七牛云,普通帖子附件不怎么依赖本地 uploads。
但头像、广告图片如果还走本地上传,仍然要保证 uploads 目录可写。
十二、七牛云配置建议
后台路径:
后台管理 → 站点设置 → 七牛云对象存储
填写:
开启七牛云上传:开启
AccessKey:你的 AccessKey
SecretKey:你的 SecretKey
Bucket:你的空间名称
七牛绑定域名:https://你的图片域名
上传地址:https://upload.qiniup.com
常见上传地址:
华东:
https://upload.qiniup.com
华北:
https://upload-z1.qiniup.com
华南:
https://upload-z2.qiniup.com
北美:
https://upload-na0.qiniup.com
东南亚:
https://upload-as0.qiniup.com
如果空间区域不是华东,需要把上传地址改成对应区域的上传域名。
十三、安全设置建议
宝塔里建议开启:
强制 HTTPS
防跨站攻击
关闭目录浏览
禁止访问备份文件
Nginx 可加:
location ~* \.(bak|old|sql|zip|tar|gz)$ {
deny all;
}
不要把数据库备份、旧源码包直接放在网站根目录。
十四、最终推荐方案
最稳、最快、最省心的组合:
Debian 12
Nginx
PHP 8.1 或 PHP 8.2
MySQL 8.0
OPcache
七牛云对象存储
HTTPS
Nginx 静态资源缓存
暂时不需要:
Redis
Memcached
复杂页面缓存
如果后面论坛访问量明显上来,再考虑给程序增加 Redis 缓存,比如缓存首页版块、帖子列表、热门帖子等。
当前阶段,OPcache + 七牛云 + Nginx 静态缓存,就是最合适的速度和稳定性方案。