You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Nginx配置自动重置丢失自定义设置求助(WHM/cPanel环境)

解决WHM/cPanel+EasyApache4环境下Nginx自定义配置被自动重置的问题

问题根源

WHM/cPanel的EasyApache4工具会定期(或在更新、重建配置操作时)自动生成/覆盖用户级Nginx配置文件,你直接编辑的/etc/nginx/conf.d/users/homemadecircuits.conf属于自动生成文件,因此会被周期性重置。

解决方案

1. 使用官方支持的自定义配置目录

不要直接编辑自动生成的.conf文件,改用cPanel预留的用户自定义配置目录:

  • 创建专属目录:mkdir -p /etc/nginx/conf.d/users/homemadecircuits/
  • 将你的自定义配置内容写入该目录下的独立文件,比如:sudo nano /etc/nginx/conf.d/users/homemadecircuits/custom_proxy.conf
  • 此目录下的文件不会被EasyApache4的自动配置流程覆盖,Nginx启动时会自动加载该目录内的所有配置文件

2. 禁用单域名Nginx配置自动生成

通过cPanel的用户数据文件锁定配置:

  • 编辑对应域名的用户数据文件(替换为你的实际域名):sudo nano /var/cpanel/userdata/homemadecircuits/yourdomain.com
  • 在文件中找到nginx:配置块,添加custom_nginx_config: 1参数,示例:
    nginx:
      custom_nginx_config: 1
      # 其他原有配置...
    
  • 保存后重建Nginx配置并重启服务:
    /scripts/rebuildnginxconf
    /scripts/restartsrv_nginx
    

3. 检查并调整定期任务

登录WHM面板,进入「任务计划程序」:

  • 查找是否存在定期执行/scripts/rebuildnginxconf或/scripts/easyapache的任务,这类任务会触发配置重建
  • 根据需求调整任务执行频率,或在任务脚本中加入备份/恢复自定义配置的逻辑

4. 配置自动备份保险

写一个简单的备份脚本,避免配置丢失:

  • 创建备份脚本:sudo nano /root/backup_nginx_custom.sh,内容如下:
    #!/bin/bash
    BACKUP_DIR="/root/nginx_backups"
    mkdir -p $BACKUP_DIR
    cp /etc/nginx/conf.d/users/homemadecircuits/custom_proxy.conf $BACKUP_DIR/custom_proxy.conf.$(date +%Y%m%d)
    
  • 赋予执行权限:chmod +x /root/backup_nginx_custom.sh
  • 添加cron任务,每天自动备份:crontab -e,加入一行:
    0 2 * * * /root/backup_nginx_custom.sh
    

验证配置

每次修改配置后,务必验证语法正确性:

nginx -t

确认无错误后再重启Nginx服务:

/scripts/restartsrv_nginx

内容的提问来源于stack exchange,提问作者Swagatam Majumdar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 14:41:14