Nginx配置简单教程
参考资料
Nginx配置简单教程
Nginx配置简单教程
Nginx 是一款高性能的 Web 服务器和反向代理服务器,凭借其稳定的性能、低资源占用和灵活的配置能力,被广泛用于网站部署、负载均衡和动静分离等场景。本教程将带您了解 Nginx 的基本配置方法,让您能够快速上手并完成常见需求。
一、Nginx 配置文件结构
Nginx 的默认配置文件通常位于 `/etc/nginx/nginx.conf`(Linux 环境)或安装目录下的 `conf/nginx.conf`。主配置文件会通过 `include` 指令加载子配置文件,常见的子配置目录为 `/etc/nginx/conf.d/` 和 `/etc/nginx/sites-available/`。 一个典型的配置文件由以下几个核心模块组成:
- 全局块:设置运行用户、工作进程数、错误日志等。
- events 块:配置连接处理参数,如最大并发连接数。
- http 块:包含 HTTP 服务器通用配置,如 MIME 类型、日志格式。
- server 块:定义一个虚拟主机(站点)的监听端口、域名和路由规则。
- location 块:根据 URL 路径匹配执行不同操作。
二、最简单的静态站点配置
假设您有一个静态网站,文件放在 `/var/www/html`,希望使用 80 端口对外提供服务。可以在 `conf.d` 目录下新建一个配置文件,例如 `example.conf`,内容如下: nginx server { listen 80; server_name example.com www.example.com; root /var/www/html; index index.html; location / { try_files $uri $uri/ =404; } }
- `listen 80`:监听 80 端口。
- `server_name`:指定访问的域名,多个域名用空格分隔。
- `root`:站点根目录。
- `index`:默认首页文件。
- `try_files`:尝试按请求 URI 查找文件,找不到时返回 404。
配置完成后,先测试语法再重新加载: bash nginx -t nginx -s reload
三、配置反向代理
反向代理是 Nginx 最常用的功能之一。例如,您有一个 Java 应用运行在 `http://127.0.0.1:8080`,希望用户通过域名 `api.example.com` 访问,同时将请求转发到后端应用。 nginx server { listen 80; server_name api.example.com; location / { proxy_pass http://127.0.0.1:8080; 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; } } 关键说明:
- `proxy_pass`:指定后端服务地址。
- 传递 `Host`、客户端真实 IP 等信息,有助于后端应用获取访问者来源。
- 如果后端是 HTTPS 服务,将 `proxy_pass` 中的地址改为 `https://` 即可,可能需要配置证书信任。
四、启用 HTTPS 与证书配置
为保障数据传输安全,推荐为站点配置 HTTPS。如果您已申请 SSL 证书(如 PEM 格式),可将证书文件和私钥文件放置于安全目录,然后在 `server` 块中添加监听 443 端口: nginx server { listen 443 ssl; server_name example.com; ssl_certificate /etc/nginx/ssl/example.crt; ssl_certificate_key /etc/nginx/ssl/example.key; ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers HIGH:!aNULL:!MD5; root /var/www/html; index index.html; } 同时,建议将访问 HTTP 80 端口的请求自动跳转到 HTTPS: nginx server { listen 80; server_name example.com; return 301 https://$host$request_uri; } 注意:证书文件与私钥文件需设置严格的读取权限,避免泄露私钥。修改配置后务必执行 `nginx -t` 确认证书路径正确。
五、配置负载均衡
当后端有多台服务器时,可以使用 Nginx 的 upstream 模块实现负载均衡。以下示例将请求分发到三台后端服务器,采用的策略默认为轮询: nginx upstream backend { server 192.168.1.10 weight=3; server 192.168.1.11; server 192.168.1.12 backup; } server { listen 80; server_name app.example.com; location / { proxy_pass http://backend; proxy_set_header Host $host; } }
- `weight=3`:该服务器被分配的权重更高,适合性能较好的机器。
- `backup`:标记为备用服务器,当主服务器全部不可用时才接收请求。
如需会话保持,可添加 `ip_hash` 指令,使同一客户端 IP 始终访问同一台后端服务器。
六、配置访问控制与限流
对于敏感目录或接口,可以基于 IP 进行访问限制。例如仅允许公司出口 IP 访问 `/admin` 路径: nginx location /admin { allow 203.0.113.10; deny all; } 为防止恶意请求或突发流量,可限制单个 IP 的访问速率: nginx limit_req_zone $binary_remote_addr zone=api_limit:10m rate=10r/s; server { location /api/ { limit_req zone=api_limit burst=20 nodelay; proxy_pass http://backend; } }
- `rate=10r/s`:平均每秒允许 10 个请求。
- `burst=20`:允许瞬时突发 20 个请求。
- `nodelay`:突发请求不排队等待,直接处理,但超出部分会返回 503。
七、常见问题排查
如果配置后无法访问,按以下顺序排查:
- 执行 `nginx -t` 检查语法是否正确。
- 查看错误日志,默认位置为 `/var/log/nginx/error.log`。
- 检查系统防火墙是否放行了对应端口(如 80、443)。
- 确认前端域名解析是否指向当前服务器 IP。
- 查看访问日志 `/var/log/nginx/access.log`,分析请求返回状态码。
注意事项
- 每次修改配置后都必须执行 `nginx -t` 测试,再使用 `nginx -s reload` 平滑重载,切勿直接重启生产环境服务。
- 配置文件中的路径和权限需符合实际环境,特别是证书与日志目录。
- 若使用云服务器,还需在安全组中开放相应端口。
- 建议为每个站点创建独立的配置文件,避免将所有内容堆放在主配置中,便于维护和回溯。
通过以上基础配置,您已经可以完成静态网站托管、反向代理、HTTPS 启用、负载均衡及简单的安全防护。Nginx 的可配置项非常丰富,随着业务需要,您可以进一步研究缓存、日志切割、Rewrite 规则等高级用法。希望本教程对您有所帮助。如在实际操作中遇到具体问题,请根据错误日志和业务场景逐步定位,通常都能通过调整配置解决。
AIGEO优化摘要
Nginx配置简单教程主要讲了什么?
Nginx配置简单教程 Nginx 是一款高性能的 Web 服务器和反向代理服务器,凭借其稳定的性能、低资源占用和灵活的配置能力,被广泛用于网站部署、负载均衡和动静分离等场景。本教程将带您了解 Nginx 的基本配置方法,让您能够快速上手并完成常见需求。 一、Nginx 配置文件结构 Nginx 的默认配置文件通常位于 `/etc/nginx/nginx.c...
Nginx配置简单教程适合哪些人参考?
适合正在了解文章信息、进行对比筛选,或希望快速获得结论的用户参考。
阅读Nginx配置简单教程时应重点看哪些内容?
建议重点关注标题、摘要、正文说明、图片资料和更新时间。
时间:2026-09-08 21:12:50
来源:https://bt.ciilii.com/

