在线Nginx配置生成工具
免费在线Nginx配置文件生成工具。通过可视化Tab填写基础配置(server_name域名、http端口、access_log访问日志)、SSL配置(443端口、证书crt/key路径、SSL协议TLSv1-TLSv1.3、session缓存)、Location路由配置(动态添加多个location,配置path路径、proxy_pass反向代理地址、fastcgi缓冲参数)。一键生成标准nginx.conf server块配置,支持复制到剪贴板和下载.conf文件。
基础配置
SSL配置
Locations配置
基础Server配置
SSL HTTPS配置
Location路由配置
生成结果 nginx.conf
复制
下载
功能特性
基础配置可视化
直观设置server_name域名、http监听端口、access_log访问日志路径,无需记忆Nginx指令语法。
SSL一键配置
启用HTTPS后自动生成80端口301跳转配置,支持TLSv1~TLSv1.3协议多选,SSL Session缓存、安全密码套件推荐。
多Location管理
动态添加/删除location路由块,配置path路径、proxy_pass反向代理、fastcgi_buffers缓冲参数。
反向代理Header
自动生成标准proxy_set_header配置(Host、X-Real-IP、X-Forwarded-For/Proto、WebSocket Upgrade等)。
复制与下载
生成后一键复制到剪贴板,或直接下载为{serverName}.conf文件,方便直接上传服务器。
明暗主题适配
自动跟随系统或手动切换明暗主题,深色模式下代码区域高亮优化,长时间使用不累眼。
使用说明
步骤一:填写基础配置
- 切换到「基础配置」标签页,填写
server_name域名(多个域名用空格分隔,如example.com www.example.com)。 - 设置HTTP监听端口(默认80)和
access_log访问日志路径。 - 如需HTTPS,勾选「启用HTTPS」复选框,系统会自动生成80到443的301跳转规则。
步骤二:配置SSL(可选)
- 切换到「SSL配置」标签页(仅在启用HTTPS后填写有效)。
- 设置HTTPS端口(默认443),填写SSL证书
.crt和私钥.key的服务器绝对路径。 - 选择SSL协议版本:推荐仅勾选
TLSv1.2和TLSv1.3(老旧客户端兼容时才需要TLSv1/1.1)。 - 设置SSL Session缓存超时时间(默认10分钟)。
步骤三:配置Locations
- 切换到「Locations配置」标签页,点击「添加Location」可增加路由块,默认保留至少1个location。
- path:匹配路径,如
/、/api/、~ \.php$等。 - proxy_pass:反向代理目标地址,如
http://127.0.0.1:5000、http://localhost:3000,留空则作为静态站点(root指令)。 - fastcgi_buffers:PHP-FPM等FastCGI缓冲,如
8 16k。 - fastcgi_buffer_size:FastCGI首缓冲大小,如
16k。
步骤四:生成与部署
- 点击「生成Nginx配置」按钮,结果显示在下方文本框。
- 点击「复制」按钮粘贴到服务器配置文件,或点击「下载」获取.conf文件。
- 将配置文件放到Nginx的
conf.d/或sites-enabled/目录,执行nginx -t测试无误后nginx -s reload重载。
典型应用场景
- 前端静态站点:Vue/React构建产物部署,location留空自动配置root和index。
- 后端反向代理:.NET/Node.js/Java/SpringBoot应用,proxy_pass指向Kestrel/Express/Tomcat端口。
- API网关:多个location分发至不同后端服务,
/api/到后端、/static/到本地目录。 - HTTPS证书部署:Let's Encrypt/阿里云/腾讯云SSL证书快速配置到Nginx。
- PHP站点:配置fastcgi_buffers参数指向PHP-FPM(9000端口或Unix Socket)。
常见问题 FAQ
生成的配置如何测试是否正确?
将配置放到Nginx配置目录后,执行
nginx -t(系统全局安装)或 /usr/sbin/nginx -t(指定路径),如果显示 syntax is ok 和 test is successful 表示配置语法无误。确认无误后执行 nginx -s reload 平滑重载,不会中断现有连接。
Nginx配置文件通常放在哪个路径?
不同发行版略有差异:
- CentOS/RHEL:主配置
- Ubuntu/Debian:主配置
- Docker官方镜像:
- Windows:
推荐将生成的server块保存为独立.conf文件放入子配置目录,便于管理。
- CentOS/RHEL:主配置
/etc/nginx/nginx.conf,子配置目录 /etc/nginx/conf.d/*.conf- Ubuntu/Debian:主配置
/etc/nginx/nginx.conf,子配置目录 /etc/nginx/sites-enabled/*.conf(软链接自sites-available)- Docker官方镜像:
/etc/nginx/conf.d/default.conf- Windows:
nginx目录/conf/nginx.conf推荐将生成的server块保存为独立.conf文件放入子配置目录,便于管理。
如何在主nginx.conf中引用子配置文件?
主配置文件的http块中通常已包含include指令,例如:
或
如果没有,手动在http块内部末尾添加该行即可。注意路径末尾的通配符,确保你的.conf文件被匹配到。
include /etc/nginx/conf.d/*.conf;或
include /etc/nginx/sites-enabled/*;如果没有,手动在http块内部末尾添加该行即可。注意路径末尾的通配符,确保你的.conf文件被匹配到。
proxy_pass反向代理有哪些必设Header?
本工具自动生成以下标准proxy_set_header:
-
-
-
-
-
后端应用通过读取这些Header获取真实客户端信息。
-
Host $host:传递原始域名,避免后端显示为localhost-
X-Real-IP $remote_addr:传递客户端真实IP-
X-Forwarded-For $proxy_add_x_forwarded_for:追加代理链IP-
X-Forwarded-Proto $scheme:告诉后端是http还是https-
Upgrade/Connection:支持WebSocket协议(SignalR、Socket.IO等)后端应用通过读取这些Header获取真实客户端信息。
启用HTTPS后浏览器提示证书不安全?
常见原因:1) 证书路径填错或文件不存在,检查nginx -t输出;2) 证书域名与访问域名不匹配(含www差异);3) 证书链不完整,crt文件需包含服务器证书+中级证书(CA Bundle);4) 使用了自签名证书,需在客户端信任根证书。推荐使用Let's Encrypt免费证书,配合certbot自动续期。
fastcgi_buffers参数怎么设置?
fastcgi_buffers 8 16k 表示分配8个每个16KB的缓冲区(共128KB),用于存放FastCGI响应。fastcgi_buffer_size 用于存放响应首行(HTTP头)。如果PHP页面较大或出现"upstream sent too big header"错误,可适当调大:- 普通站点:
fastcgi_buffers 8 16k + fastcgi_buffer_size 16k- 大响应/长Cookie:
fastcgi_buffers 16 32k + fastcgi_buffer_size 32k注意过大的缓冲会增加内存消耗。
本工具生成的配置支持HTTP/2和HTTP/3吗?
启用HTTPS时自动在listen指令中添加
http2 参数,支持HTTP/2协议(需Nginx 1.9.5+且openssl支持ALPN)。HTTP/3(QUIC)目前需要Nginx 1.25.0+并添加 listen 443 quic 和 http3 on 指令,同时需开放UDP 443端口。如需HTTP/3可在生成的配置基础上手动补充。
location路径匹配优先级是怎样的?
Nginx匹配顺序:
1.
2.
3.
4.
推荐:静态文件用前缀匹配
1.
= /path 精确匹配(最高优先级)2.
^~ /path 前缀匹配(命中后停止正则匹配)3.
~ regex / ~* regex 正则匹配(按配置顺序)4.
/path 普通前缀匹配(无正则命中时选最长前缀)推荐:静态文件用前缀匹配
/static/,PHP用正则 ~ \.php$,默认站点用 /。