第一步:关闭宝塔面板与站点冗余服务/插件
冗余服务是最容易被忽略的“隐形资源杀手”,必须先从源头削减无效占用,具体操作如下:
1.1 关闭面板冗余服务
- 登录宝塔面板 → 左侧软件商店 → 右上角已安装 → 筛选运行中
- 逐一排查,将无需的服务(如Java环境、Node.js未部署服务版本、Python非当前使用解释器、Redis集群模式单节点无需的哨兵、未绑定域名的DNS解析插件等)点击停止后设为“开机不启动”
1.2 清理站点冗余插件
- 左侧网站 → 点击对应站点右侧设置 → 软件
- 卸载临时调试用插件、重复功能插件(如已装WP Rocket无需再装WordPress缓存插件、已装WAF防火墙无需再装同类云盾插件)
第二步:优化PHP-FPM进程配置
PHP-FPM配置不当会直接导致CPU/内存过载或响应慢,以下配置适用于80%以上中小型站点(可根据服务器配置微调),操作步骤:
- 登录宝塔面板 → 左侧软件商店 → 找到当前站点使用的PHP版本 → 点击右侧设置 → 性能调整 → 切换到专家模式
- 替换以下完整配置(注意内存单位:M为MB,G为GB):
```ini
[global]
pid = /www/server/php/[你的PHP版本号]/var/run/php-fpm.pid
error_log = /www/server/php/[你的PHP版本号]/var/log/php-fpm.log
log_level = error
emergency_restart_threshold = 10
emergency_restart_interval = 1m
process_control_timeout = 10s
rlimit_files = 51200
events.mechanism = epoll
[www]
user = www
group = www
listen = /tmp/php-cgi-[你的PHP版本号].sock
listen.owner = www
listen.group = www
listen.mode = 0660
pm = dynamic
pm.max_children = [内存(MB) / 50] 例如2G内存填40,1G填20,不得超过CPU核心数×4
pm.start_servers = [内存(MB) / 200]×2 例如2G填20,1G填10,核心数×2
pm.min_spare_servers = [内存(MB) / 200] 例如2G填10,1G填5,核心数×1
pm.max_spare_servers = [内存(MB) / 100] 例如2G填40,1G填20,核心数×3
pm.max_requests = 500 进程处理500次请求后自动重启,防内存泄漏
pm.status_path = /phpfpm_status_随机6位字母数字 生成随机码防探测
ping.path = /ping_随机6位字母数字
ping.response = pong
request_terminate_timeout = 300 单个请求超时5分钟强制终止(根据业务调整)
request_slowlog_timeout = 5 单个请求超过5秒记录慢日志
slowlog = /www/wwwlogs/[你的PHP版本号]-slow.log
```
- 将配置中的[你的PHP版本号]替换为实际使用的(如7.4、8.2),将两处随机6位字母数字替换为自己生成的字符(可用随机数工具或直接敲键盘)
- 点击保存 → 重启对应PHP版本
第三步:配置站点三级缓存
三级缓存(静态文件本地Nginx缓存+Redis页面缓存+数据库Redis缓存)能让访问速度提升80%以上,降低服务器负载90%左右,操作分三块:
3.1 配置Nginx静态文件缓存
- 左侧网站 → 对应站点右侧设置 → 配置文件
- 在
server块内、location ~ \.php(.)$块前,插入以下完整代码:
```nginx
静态资源本地缓存
location ~ \.(jpg|jpeg|png|gif|ico|css|js|pdf|txt|mp4|webp|woff|woff2|ttf|eot)$ {
expires 30d;
add_header Cache-Control "public, immutable";
access_log off;
}
禁止访问敏感文件
location ~ \.(env|git|svn|bak|old|log|sql)$ {
deny all;
}
```
3.2 配置Redis数据库/页面缓存
- 先确保已在软件商店安装Redis 6.x/7.x稳定版,并设为开机启动
- 对应站点设置 → 软件 → 安装Redis缓存插件(注意PHP版本匹配)
- 如果是WordPress站点,安装Redis Object Cache插件 → 启用后点击Enable Object Cache自动连接
- 如果是其他CMS,在对应后台配置Redis连接信息(宝塔Redis默认端口6379,无密码)
第四步:开启宝塔面板与站点的自动备份

长期稳定离不开数据兜底,备份要双路径保存+增量全量结合:
- 面板自动备份:左侧计划任务 → 添加任务 → 任务类型选备份面板 → 执行周期选每周一凌晨2点 → 备份保留天数选30天 → 点击添加
- 站点自动备份:计划任务 → 添加任务 → 任务类型选备份网站 → 执行周期选每天凌晨1点 → 备份保留天数选7天 → 再添加一条同站点任务,执行周期选每月1号凌晨3点 → 备份保留天数选90天 → 点击添加
- 数据库自动备份:计划任务 → 添加任务 → 任务类型选备份数据库 → 对应站点数据库 → 执行周期选每天凌晨0:30 → 备份保留天数选7天 → 再添加一条同数据库任务,执行周期选每月1号凌晨3:30 → 备份保留天数选90天 → 点击添加
第五步:配置宝塔免费WAF防火墙
WAF能拦截90%以上的常见攻击(如SQL注入、XSS、CC攻击),操作步骤:
- 软件商店 → 搜索宝塔免费防火墙 → 安装(注意不要安装专业版或云锁等其他收费插件)
- 安装完成后左侧防火墙 → 点击一键开启防护
- 切换到CC防护 → 开启通用防护 → 连接数阈值设为单IP每分钟100次 → 拦截时长设为30分钟 → 点击保存
第六步:开启服务器Swap虚拟内存
如果服务器内存≤2G,必须开启Swap防止内存耗尽宕机,操作步骤:
- 左侧软件商店 → 搜索Linux工具箱 → 安装
- Linux工具箱 → Swap/虚拟内存 → 设置大小为物理内存的2倍(如2G设4G,1G设2G,最大不超过8G) → 点击添加Swap
第七步:定期检查与维护
长期稳定不能只配置一次,要每周做1次轻量检查,每月做1次深度维护:
7.1 每周轻量检查
- 登录宝塔面板 → 左侧监控 → 查看近7天CPU/内存/磁盘/带宽峰值,确保CPU≤80%、内存≤85%、磁盘剩余≥20%、带宽无异常
- 左侧日志 → 查看Nginx错误日志/PHP错误日志/防火墙拦截日志,及时处理异常
7.2 每月深度维护
- 软件商店 → 已安装 → 更新所有稳定版软件(注意不要更新测试版)
- 左侧网站 → 对应站点设置 → 日志 → 清空过期访问日志/错误日志
- 左侧文件 → 删除wwwroot目录下的临时文件、过期备份