需修改Nginx配置但系统默认文件不可编辑,该如何操作?
修改Nginx配置的可行方案
方案1:利用Plesk面板添加自定义配置(适用于Plesk管理的环境)
如果你的服务器由Plesk管理,直接通过面板操作可避免配置被覆盖:
- 登录Plesk面板,进入对应域名的主机设置或网站与域名页面
- 找到Apache & Nginx设置选项
- 在附加Nginx指令文本框中输入自定义配置(如反向代理、缓存规则等)
- 保存设置,Plesk会自动将配置整合到生成的Nginx文件中,更新时不会被覆盖
方案2:添加自定义配置目录(通用非面板环境)
普通Nginx环境可通过以下步骤添加不受更新影响的自定义配置:
- 检查
/etc/nginx/nginx.conf中的include指令,确认是否存在加载自定义配置的预留目录(如部分系统默认有/etc/nginx/sites-enabled/或/etc/nginx/extra.d/) - 若没有预留目录,在
nginx.conf的http块末尾添加一行:include /etc/nginx/custom.d/*.conf;注意:如果
nginx.conf是自动生成的,添加前需确认文件更新机制——部分发行版允许在特定区域添加自定义内容而不被覆盖,若不确定优先用方案3 - 创建自定义配置目录:
mkdir -p /etc/nginx/custom.d - 在该目录下创建专属配置文件(如
my-site.conf),写入Nginx配置规则 - 验证配置并重启Nginx:
nginx -t systemctl restart nginx
方案3:使用站点配置目录(主流发行版通用)
多数Linux发行版的Nginx默认支持sites-available和sites-enabled目录:
- 在
/etc/nginx/sites-available/下创建站点专属配置文件:touch /etc/nginx/sites-available/my-site.conf - 编辑该文件,写入完整的站点配置(包含
server块等) - 软链接到
sites-enabled目录,让Nginx加载该配置:ln -s /etc/nginx/sites-available/my-site.conf /etc/nginx/sites-enabled/ - 确认
nginx.conf中存在include /etc/nginx/sites-enabled/*;指令,若没有则添加到http块内 - 验证配置并重启Nginx:
nginx -t systemctl restart nginx
注意:如果是通过Plesk、cPanel等面板管理的服务器,优先使用面板提供的配置入口,避免手动修改系统文件导致配置被覆盖。
内容的提问来源于stack exchange,提问作者alancc
相关产品推荐
相关产品推荐

