深入解析 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 强制跳转 HTTPSserver {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=123rewrite ^/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.loglogs/error.log建议定期归档日志,防止磁盘占满。
在修改 nginx.conf 前,建议备份:
copy conf\nginx.conf conf\nginx.conf.bak09
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 服务、反向代理和负载均衡系统。
阅读原文:原文链接