本文共 2174 字,大约阅读时间需要 7 分钟。
Nginx 是一个高性能的 HTTP 和反向代理 web 服务器,同时也提供了 IMAP/POP3/SMTP 服务。它因其丰富的功能集、稳定性以及低系统资源消耗受到开发者的广泛欢迎。本文将总结一些常用的 Nginx 配置代码,希望能为您提供帮助。
Nginx 可以侦听多个协议和端口:
server { # 标准的 HTTP 协议 listen 80 listen 80; # 标准的 HTTPS 协议 listen 443 listen 443 ssl; # 支持 HTTP/2 listen 443 ssl http2; # listen 在 IPv6 上 80 端口 listen [::]:80; # 只在 IPv6 上 listen 80 并启用 ipv6only listen [::]:80 ipv6only=on;} 可以通过配置访问日志来追踪服务器访问情况:
server { # 指定相对或绝对路径的日志文件 access_log /path/to/file.log; # 启用访问日志记录 access_log on;} 指定服务器名称以使 Nginx 知道它在响应哪个域名:
server { # 监听 yourdomain.com server_name yourdomain.com; # 监听多个域名 server_name yourdomain.com www.yourdomain.com; # 监听所有子域名 server_name *.yourdomain.com; # 监听所有顶级域名 server_name yourdomain.*; # 监听未指定主机名(基于 IP) server_name "";} 配置静态资源服务器:
server { listen 80; server_name yourdomain.com; location / { root /path/to/website; }} 实现 HTTP 到 HTTPS 重定向:
server { listen 80; server_name www.yourdomain.com; return 301 https://$host$request_uri;} 将请求代理到后端服务器(如 Node.js 服务):
server { listen 80; server_name yourdomain.com; location / { proxy_pass http://0.0.0.0:3000; # 0.0.0.0:3000 是您的应用服务器(如 Node.js) }} 将请求分配到多个后端服务器:
upstream node_js { server 0.0.0.0:3000; server 0.0.0.0:4000; server 123.131.121.122;}server { listen 80; server_name yourdomain.com; location / { proxy_pass http://node_js; }} 配置 SSL/TLS 证书:
server { listen 443 ssl; server_name yourdomain.com; ssl on; ssl_certificate /path/to/cert.pem; ssl_certificate_key /path/to/privatekey.pem; ssl_stapling on; ssl_stapling_verify on; ssl_trusted_certificate /path/to/fullchain.pem; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_session_timeout 1h; ssl_session_cache shared:SSL:50m; add_header Strict-Transport-Security max-age=15768000;} 为了更高效地配置 Nginx,可以使用可视化工具进行自动化配置。这些工具能够帮助您快速生成配置文件,例如:
通过这些工具,您可以轻松配置反向代理、HTTPS、HTTP/2、IPv6 等高级功能。这些工具支持多种场景,例如 WordPress、CDN、Node.js 服务器等,能够满足不同项目的需求。
转载地址:http://pmcfk.baihongyu.com/