1panel 面板怎么配置 Nginx
学完这篇,你能在 1Panel 里准确找到 Nginx(实际是 OpenResty)的配置文件位置,并完成反向代理、上传大小、伪静态和 HTTPS 这几类最常见的改动,而且改完不会把面板搞挂。
第一步:先搞清楚 1Panel 用的是哪个 Nginx
这一步要确认你的网站到底跑在哪个 Web 服务上,免得改错文件。1Panel(以 v1.10.x 为例)默认不在系统里装 Nginx,而是用「应用商店」里的 OpenResty,它内核就是 Nginx。打开左侧菜单「应用商店」→ 顶部「已安装」,如果列表里有 OpenResty,说明网站走的是它;如果你另外还装了一个叫 Nginx 的应用,那就是独立的 Docker 容器,跟面板网站功能不是一套。
注意:OpenResty 和 Nginx 应用不要同时监听 80/443,否则后启动的那个会报端口占用,网站直接 502。
第二步:创建网站,拿到站点配置入口
这一步做出一个可编辑的站点,后面所有改动都从它的「配置文件」进去。点左侧「网站」→ 顶部「网站」标签 → 右上角「创建网站」按钮,弹窗里:「类型」选「静态网站」,「主域名」填 example.com,「网站目录」保持默认(一般是 /opt/1panel/www/sites/example.com/index),「端口」80,「PHP 版本」不选。点「确认」后,列表里会出现这个站点。点站点名称进入详情页,顶部会看到「概览 / 域名管理 / HTTPS / 伪静态 / 配置文件 / 日志」等标签。
第三步:改站点级 Nginx 配置
这一步给单个网站加反向代理或调参数,影响范围只限这个站。在网站详情页点「配置文件」标签,会看到完整的 server 块。比如要把 /api/ 转发到本机 3000 端口,在 server 块里加:
location /api/ {
proxy_pass http://127.0.0.1:3000/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
要放开上传大小,在 server 块第一行加 client_max_body_size 100m;。改完点右上角「保存」,1Panel 会自动执行 nginx -t 校验并 reload;如果配置有语法错,它会弹红字并且不生效,站点仍按旧配置跑。
注意:动手前先把原内容整段复制到记事本留底。
server_name、listen、root这三行别乱改,1Panel 靠它们管理域名、HTTPS 和目录映射,改错了面板上的域名和证书状态会全部乱掉。
第四步:改全局 Nginx(http 块)配置
这一步改的是所有网站共用的参数,比如全局 gzip、日志格式、worker 连接数。入口在「应用商店」→「已安装」→ 找到 OpenResty → 点右侧「参数」,里面的「配置文件」就是主 nginx.conf;也可以点「容器」→ 找到 openresty 容器 → 「终端」,直接编辑 /opt/1panel/apps/openresty/openresty/conf/nginx.conf。改完同样要校验:
docker ps | grep openresty
docker exec -it 1Panel-openresty-xxxx nginx -t
docker exec -it 1Panel-openresty-xxxx nginx -s reload
把容器名换成你 docker ps 里看到的那一串。
注意:主配置里如果 include 了
/opt/1panel/www/sites/*/conf/nginx.conf,就别再手动把站点 server 块粘进来,否则同一个域名会被定义两次,Nginx 启动时直接报 duplicate server。
第五步:用面板功能代替手写配置
这一步优先用 1Panel 自带入口,比手写更不容易出错。HTTPS 在网站详情页点「HTTPS」标签 → 「创建证书」(Let's Encrypt 或手动上传)→ 选证书 → 打开「HTTPS」开关,面板会自动往配置文件里写 443 段。伪静态点「伪静态」标签,下拉里选 WordPress、ThinkPHP 等模板,或直接在编辑框写 rewrite 规则。改完这几项,都不要再去「配置文件」里重复写一遍对应的 443 或 rewrite。
注意:开启 HTTPS 后如果网站打不开,先看「日志」标签里的错误日志,八成是证书没签发成功或 443 端口没放行,不是 Nginx 语法问题。
小结
- 1Panel 的网站引擎默认是 OpenResty,配置语法等同 Nginx,别和单独的 Nginx 应用混着改。
- 单站改动走「网站」→ 点站点名 →「配置文件」;全局改动走「应用商店」→「已安装」→ OpenResty →「参数」。
- 保存时面板会自动
nginx -t+ reload,报错说明语法有问题,站点仍按旧配置运行,不用慌。 server_name、listen、root和 HTTPS 自动生成的 443 段不要手改,交给面板管理。- 改前备份、改后用
docker exec ... nginx -t复核,是避免把线上站点改挂的两条底线。
原文链接:https://www.gj0.com/thread-285.html
转载请注明出处并保留本声明;内容仅代表作者观点,与本站立场无关。若本文涉嫌侵权,请联系本站处理。