搞定 Nginx 配置!反向代理、HTTPS、缓存优化一篇
时间:2026-09-14 11:36 来源:未知 人气:
Nginx 是一款高性能的 HTTP 和反向代理服务器,广泛应用于 Web 服务、负载均衡和 API 网关等场景。
本文将详细介绍 Nginx 的常用配置,涵盖基本配置、静态资源服务、反向代理、负载均衡、HTTPS 配置、缓存优化等内容,帮助读者快速掌握 Nginx 的核心功能。
一、Nginx 基础配置
Nginx 的核心配置文件通常位于/etc/nginx/nginx.conf或/usr/local/nginx/conf/nginx.conf,其结构主要分为:
- 全局块(main):影响 Nginx 整体运行的配置(如 worker 进程数、日志路径等)。
- events 块:配置网络连接相关参数(如最大并发连接数)。
- http 块:定义 HTTP 服务器行为(如虚拟主机、反向代理等)。
全局配置示例:
user nginx; # 运行 Nginx 的用户
worker_processes auto; # 自动匹配 CPU 核心数
error_log /var/log/nginx/error.log warn; # 错误日志路径
pid /var/run/nginx.pid; # 进程 PID 文件位置
events {
worker_connections 1024; # 每个 worker 进程的最大连接数
use epoll; # 使用 epoll 高效事件模型(Linux)
}
二、静态文件服务
Nginx 常用于托管静态资源(HTML、CSS、JS、图片等),配置简单且高效。
1. 基础静态服务器配置
http {
server {
listen 80; # 监听 80 端口
server_name example.com; # 域名或 IP
location / {
root /var/www/html; # 静态文件根目录
index index.html; # 默认首页
}
# 单独配置图片缓存
location ~* \.(jpg|png|gif)$ {
root /var/www/images;
expires 30d; # 客户端缓存 30 天
}
}
}
- root:指定静态文件根目录。
- index:定义默认访问文件。
- expires:设置浏览器缓存时间,减少服务器负载。
三、反向代理配置
Nginx 可作为反向代理,将请求转发到后端服务器(如 Tomcat、Node.js、Python 应用等)。
1. 基本反向代理
server {
listen 80;
server_name api.example.com;
location / {
proxy_pass http://127.0.0.1:8080; # 转发到本机 8080 端口
proxy_set_header Host $host; # 传递原始 Host 头
proxy_set_header X-Real-IP $remote_addr; # 传递客户端 IP
}
}
- proxy_pass:指定后端服务器地址。
- proxy_set_header:设置 HTTP 请求头,确保后端获取真实客户端信息。
本文标签: