当前位置:首页 > nginx > 正文

nginx常用配置汇总(nginx正向代理配置)

  • nginx
  • 2024-04-04 12:27:08
  • 5138
Nginx 常用配置汇总
Nginx 是一款高性能 HTTP 和反向代理服务器,拥有丰富的配置选项。 以下是几个常用配置要素:
全局配置块
user: 定义运行 Nginx 进程的用户和组。
worker_processes: 指定工作进程的数量。
error_log: 指定错误日志文件路径。
daemon: 将 Nginx 进程守护化。
事件处理配置
events: 定义 Nginx 在处理连接和事件时的行为。
worker_connections: 指定每个工作进程允许的最大连接数。
multi_accept: 启用多路 Accept,提高负载能力。
use: 指定事件处理模型,如 epoll 或 kqueue。
HTTP 配置块
listen: 定义 Nginx 监听的 IP 地址和端口。
server_name: 指定虚拟主机的名称。
location: 定义特定 URI 路径或正则表达式的处理规则。
root: 指定网站根目录。
index: 定义默认的索引页面。
代理配置
proxy_pass: 指定反向代理的后端服务器地址。
proxy_set_header: 用于设置发送到后端的请求标头。
proxy_cache: 启用缓存代理功能。
proxy_cache_path: 指定缓存文件的存储路径。
负载均衡配置
upstream: 定义后端服务器组。
server: 指定后端服务器的地址和端口。
least_conn: 根据连接数进行负载均衡。
ip_hash: 根据客户端 IP 地址进行负载均衡。
安全性配置
ssl_certificate: 指定 SSL 证书文件路径。
ssl_certificate_key: 指定 SSL 密钥文件路径。
default_server: 未匹配任何 server_name 时,使用的默认配置块。
deny: 拒绝访问特定的 IP 地址或用户代理。
性能优化配置
keepalive_timeout: 定义连接保持活动的时间。
sendfile: 启用文件传输优化。
gzip: 启用 HTTP 压缩。
tcp_nodelay: 启用 Nagle 算法禁用。
示例配置
# 全局配置块
user www-data;
worker_processes auto;
error_log /var/log/nginx/error.log;
daemon off;
# 事件处理配置
events {
worker_connections 1024;
multi_accept on;
use epoll;
}
# HTTP 配置块
http {
listen 80 default_server;
server_name example.com;
location / {
root /var/www/example.com;
index index.html;
}
}
# 代理配置
upstream backend {
server 192.168.1.10:8080;
server 192.168.1.11:8080;
}
# 负载均衡配置
location /api {
proxy_pass http://backend;
proxy_set_header X-Real-IP $remote_addr;
}
# 安全性配置
ssl_certificate /etc/ssl/certs/example.com.crt;
ssl_certificate_key /etc/ssl/private/example.com.key;