本文分享的是前端如何修改nginx配置来调试测试环境
Nginx(发音为 “engine X”)是一款高性能的 开源 Web 服务器,同时也可作为 反向代理服务器、负载均衡器、HTTP 缓存 和 邮件代理服务器。由于其轻量级、高并发处理能力和低资源消耗,Nginx 被广泛用于现代互联网架构中,尤其适合高流量网站和分布式系统。
Nginx 的主要作用
Web 服务器(静态资源服务)
Nginx 最初设计用于高效处理静态文件(如 HTML、CSS、JS、图片等),相比传统服务器(如 Apache):
- 更低的资源消耗:采用事件驱动(Event-Driven)架构,单线程可处理数千并发连接。
- 更快的响应速度:优化了静态文件的传输效率,适合 CDN 和内容分发。
典型应用:
- 托管静态网站(如博客、官网)。
- 作为前端资源服务器(配合 React/Vue 等 SPA 应用)。
反向代理(Reverse Proxy)
Nginx 可以作为反向代理,接收客户端请求并转发给后端服务器(如 Tomcat、Node.js、PHP-FPM),再返回响应给用户。
核心优势:
- 隐藏后端服务器:保护真实服务器 IP,提升安全性。
- 负载均衡:将流量分发到多个后端服务器(见下文)。
- 缓存加速:缓存动态内容,减少后端压力。
典型配置:
server {
listen 80;
server_name example.com;
location / {
proxy_pass http://backend_server; # 转发到后端
proxy_set_header Host $host;
}
}负载均衡(Load Balancing)
Nginx 可以将流量均匀分配到多个后端服务器,提高系统的可用性和扩展性。
支持的均衡策略:
- 轮询(Round Robin):默认方式,按顺序分配请求。
- 加权轮询(Weighted Round Robin):给性能更强的服务器更多流量。
- IP 哈希(IP Hash):同一用户始终访问同一服务器(适合 Session 保持)。
- 最少连接(Least Connections):优先分配给当前连接数最少的服务器。
典型配置:
upstream backend {
server 192.168.1.1 weight=3; # 权重 3
server 192.168.1.2;
server 192.168.1.3 backup; # 备用服务器
}
server {
location / {
proxy_pass http://backend;
}
}HTTP 缓存(加速动态内容)
Nginx 可以缓存后端动态生成的页面(如 API 响应),减少重复计算和数据库查询。
适用场景:
- 高并发读多写少的场景(如新闻网站、商品详情页)。
- 缓解后端服务器压力。
典型配置:
proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=my_cache:10m inactive=60m;
server {
location / {
proxy_cache my_cache;
proxy_pass http://backend;
proxy_cache_valid 200 302 10m; # 缓存 200/302 响应 10 分钟
}
}SSL/TLS 终止(HTTPS 加速)
Nginx 可以处理 HTTPS 加密/解密,减轻后端服务器的计算负担:
- 统一管理证书(如 Let’s Encrypt)。
- 支持 HTTP/2,提升页面加载速度。
典型配置:
server {
listen 443 ssl;
server_name example.com;
ssl_certificate /path/to/cert.pem;
ssl_certificate_key /path/to/key.pem;
location / {
proxy_pass http://backend;
}
}动静分离
将动态请求(如 API)和静态资源(如图片、CSS)分开处理:
- 静态资源由 Nginx 直接返回,动态请求转发给后端(如 Java/Python)。
典型配置:
server {
location /static/ {
alias /var/www/static/; # 直接返回静态文件
}
location /api/ {
proxy_pass http://backend; # 转发 API 请求
}
}其他用途
- 邮件代理(IMAP/POP3/SMTP)。
- WebSocket 代理(支持实时通信应用)。
- 访问控制(IP 黑白名单、限速)。
如何在VSCode中修改Nginx配置,步骤如下:
找到 Nginx 配置文件
Nginx 的配置文件通常位于:
- Linux/macOS:
/etc/nginx/nginx.conf(主配置)或/etc/nginx/conf.d/(子配置) - Windows:
C:\nginx\conf\nginx.conf(默认安装路径)
如何快速定位 Nginx 配置文件?
- 在终端运行:
nginx -t它会显示 Nginx 加载的配置文件路径,例如:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful在 VSCode 中打开 Nginx 配置文件
使用 VSCode 远程开发(推荐):
- 如果 Nginx 运行在远程服务器(如 Linux),可以:
- 安装 Remote - SSH 插件。
vscode通过ctrl + shift + x打开右侧的扩展,输入Remote - SSH进行安装。安装完成后要重启vscode。安装成功后,右侧会有一个类似电脑的图标。 - 点击
电脑图标,如下图所示 - 点击配置(齿轮)图标,添加服务
- 在打开的config文件中,输入目标服务的配置信息
- 配置完成后,就可以在SSH文件夹下看到
31服务器和45服务器,选择其中的一个服务,在新窗口建立连接,选择Linus,输入密码后,选择打开文件夹,在输入框输入想要访问的文件夹即可。例如:打开etc文件夹 - 打开后,找到
nginx文件夹,打开nginx.conf文件,此文件中就是对应项目的nginx配置信息。 - 完成配置修改后,执行的指令如下:
- 检查配置文件是否有语法错误: 在重新加载 Nginx 配置之前,最好检查配置文件是否有语法错误。使用以下命令来检查:
sudo nginx -t如果一切正常,会显示类似以下的消息:
Copy Codenginx: configuration file /etc/nginx/nginx.conf test is successful- 重新加载 Nginx 配置: 如果配置文件语法没有问题,可以使用以下命令来重新加载 Nginx 配置:
sudo systemctl reload nginx或者使用:
sudo nginx -s reload这样,Nginx 会应用对 nginx.conf 文件所做的修改,而无需重启整个 Nginx 服务。
修改 Nginx 配置
Nginx 配置采用 模块化结构,常见修改场景:
(1)配置静态网站
server {
listen 80; # 监听 80 端口(HTTP)
server_name example.com; # 域名
location / {
root /var/www/html; # 网站根目录
index index.html; # 默认首页
}
}(2)配置反向代理(如转发到 Node.js/React/Vue)
server {
listen 80;
server_name api.example.com;
location / {
proxy_pass http://localhost:3000; # 转发到本地的 Node.js 服务
proxy_set_header Host $host;
}
}(3)配置 HTTPS(SSL 证书)
server {
listen 443 ssl;
server_name example.com;
ssl_certificate /etc/ssl/certs/example.com.crt; # 证书路径
ssl_certificate_key /etc/ssl/private/example.com.key;
location / {
root /var/www/html;
index index.html;
}
}(4)配置负载均衡
upstream backend {
server 192.168.1.1:3000; # 后端服务器 1
server 192.168.1.2:3000; # 后端服务器 2
}
server {
listen 80;
server_name example.com;
location / {
proxy_pass http://backend; # 请求转发到 upstream
try_files $uri $uri/ /index.html; # 用于智能匹配请求资源的重要规则
}
}
















