博客
关于我
Nginx 配置清单(一篇够用)
阅读量:790 次
发布时间:2023-02-15

本文共 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 协议

配置 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/

你可能感兴趣的文章