深入解析 Nginx:Windows 平台的配置与最佳实践
当前位置:点晴教程→知识管理交流
→『 技术文档交流 』
![]() Hello evne peng This is a month of learning and growth, come on! 01 Nginx(发音为 "engine-x")是一款开源、高性能、轻量级的 HTTP 服务器、反向代理服务器、负载均衡器和邮件代理服务器,广泛应用于全球各大互联网公司。尽管 Nginx 最初是为 Unix/Linux 环境设计的,但它也提供了对 Windows 操作系统的良好支持,特别适用于本地开发、测试环境搭建、静态资源服务、反向代理、负载均衡以及微服务网关等场景。 02 本手册将对 Windows 系统下 Nginx 的安装、配置、启动、管理、常见应用场景及最佳实践进行极其详尽、系统化、可操作性强的描述,全文超过 5000 字,力求做到“从零开始,深入浅出,实战落地”,帮助开发者和运维人员全面掌握 Nginx 在 Windows 平台上的使用。 03 一、Nginx 简介与核心特性1.1 什么是 Nginx?Nginx 是由俄罗斯开发者 Igor Sysoev 于 2004 年首次发布的高性能 Web 服务器。它采用 事件驱动、异步非阻塞的架构模型(epoll/kqueue),能够以极低的内存和 CPU 消耗处理数万甚至数十万的并发连接。 1.2 Nginx 的核心优势
04 二、Windows 系统下 Nginx 的下载与安装2.1 官方下载地址Nginx 官方提供适用于 Windows 的预编译二进制包: 👉 https://nginx.org/en/download.html 在页面中选择: Mainline version(主线版本):最新功能,适合开发和测试。 Stable version(稳定版本):经过充分测试,推荐生产环境使用。 点击对应链接下载 2.2 解压与安装将下载的 |
worker_processes | 1 。 |
worker_connections | |
listen | 80 、443 ssl 。 |
server_name | |
root | |
location | |
proxy_pass | |
rewrite | |
ssl_certificate | |
ssl_certificate_key |
07
将 Nginx 作为静态文件服务器,高效服务前端资源。
server {
listen 80;
server_name static.example.com;
location / {
root D:/www/static; # 自定义静态资源目录
index index.html;
expires 30d; # 启用浏览器缓存
add_header Cache-Control "public, no-transform";
}
# 禁止访问 .git、.env 等敏感文件
location ~ /\.(git|env|ht) {
deny all;
}
}
5.2 反向代理
将请求转发到后端应用服务器(如 Node.js、Tomcat、Spring Boot)。
server {
listen 80;
server_name api.example.com;
location / {
proxy_pass http://127.0.0.1:3000; # 转发到本地 Node.js 服务
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
将请求分发到多个后端服务器,提升性能和可用性。
upstream backend {
# 轮询(默认)
server 192.168.1.10:8080;
server 192.168.1.11:8080;
# 加权轮询
# server 192.168.1.10:8080 weight=3;
# server 192.168.1.11:8080 weight=1;
# IP Hash(保持会话)
# ip_hash;
}
server {
listen 80;
server_name app.example.com;
location / {
proxy_pass http://backend;
proxy_set_header Host $host;
}
}
启用 HTTPS 加密通信。
server {
listen 443 ssl;
server_name www.example.com;
ssl_certificate C:/nginx/conf/ssl/example.com.crt;
ssl_certificate_key C:/nginx/conf/ssl/example.com.key;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers HIGH:!aNULL:!MD5;
location / {
root html;
index index.html;
}
}
# HTTP 强制跳转 HTTPS
server {
listen 80;
server_name www.example.com;
return 301 https://$server_name$request_uri;
}
5.5 URL 重写与重定向
实现 SEO 友好的 URL 或旧链接跳转。
server {
listen 80;
server_name blog.example.com;
# 伪静态:/article/123 -> /article.php?id=123
rewrite ^/article/(\d+)$ /article.php?id=$1 last;
# 永久重定向
location = /old-page.html {
return 301 /new-page.html;
}
# 移除 .html 后缀
rewrite ^/(.*).html$ /$1 permanent;
}
08
tasklist /fi "imagename eq nginx.exe"
taskkill /f /im nginx.exe
⚠️ 仅在
nginx -s stop
失效时使用。
logs/access.log
logs/error.log
建议定期归档日志,防止磁盘占满。
在修改 nginx.conf
前,建议备份:
copy conf\nginx.conf conf\nginx.conf.bak
09
listen 端口 | ||
nginx -s reload | nginx -t 检查并修复 | |
proxy_pass 地址 | ||
root | ||
10
nginx.conf
中添加:nginx 深色版本
server_tokensoff;
nginx 深色版本
client_max_body_size10M;
limit_req
模块限制请求频率。nginx.conf
纳入 Git 管理,便于回滚。11
Nginx 在 Windows 系统中虽然性能略逊于 Linux 版本,但其易用性、稳定性、功能完整性使其成为本地开发、测试和小型生产环境的理想选择。通过掌握其安装、启动、配置和管理命令,开发者可以轻松搭建高性能的 Web 服务、反向代理和负载均衡系统。
阅读原文:原文链接