# 全局配置
user nginx; # 指定运行nginx的用户
worker_processes auto; # 设置worker进程的数量,auto表示根据CPU核心数自动设置
error_log /var/log/nginx/error.log; # 错误日志文件路径
pid /var/run/nginx.pid; # 进程ID文件路径
# 事件模块
events {
worker_connections 1024; # 每个worker进程的最大连接数
}
# 七层转发
# 在http模块中配置七层转发规则
# HTTP模块
http {
include /etc/nginx/mime.types; # 包含MIME类型配置文件
default_type application/octet-stream; # 默认MIME类型
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"'; # 日志格式
access_log /var/log/nginx/access.log main; # 访问日志文件路径
sendfile on; # 开启sendfile功能,提高文件传输效率
tcp_nopush on; # 开启tcp_nopush功能,提高网络传输效率
tcp_nodelay on; # 开启tcp_nodelay功能,提高网络传输效率
gzip on; # 开启gzip压缩
client_max_body_size 20M; # 配置上传文件大小限制
keepalive_timeout 65; # 客户端与服务器之间的连接超时时间
types_hash_max_size 2048; # MIME类型哈希表的最大大小
include /etc/nginx/conf.d/*.conf; # 包含其他配置文件
# 四层代理
# 在stream模块中配置四层代理规则
stream {
server {
listen 443;
proxy_pass backend_server;
}
server {
listen 80; # 监听端口号
server_name www.yuanzhi.com; # 域名
location / {
root /usr/share/nginx/html; # 静态文件根目录
index index.html; # 默认首页文件
}
error_page 404 /404.html; # 404错误页面
error_page 500 502 503 504 /50x.html; # 50x错误页面
location = /500.html {
root /usr/share/nginx/html; # 错误页面文件路径
}
}
}
}
-
全局配置:设置全局的配置项,如运行nginx的用户、worker进程数量等。
-
事件模块:配置与事件相关的参数,如每个worker进程的最大连接数。
-
HTTP模块:配置HTTP相关的参数和指令。
- include:包含其他配置文件。
- default_type:默认的MIME类型。
- log_format:定义日志格式。
- access_log:访问日志文件路径。
- sendfile:开启sendfile功能,提高文件传输效率。
- tcp_nopush:开启tcp_nopush功能,提高网络传输效率。
- tcp_nodelay:开启tcp_nodelay功能,提高网络传输效率。
- keepalive_timeout:客户端与服务器之间的连接超时时间。
- types_hash_max_size:MIME类型哈希表的最大大小。
-
server:定义一个虚拟主机。
-
listen:监听的端口号。
-
server_name:域名。
-
location:定义URL的处理规则。
- root:静态文件根目录。
- index:默认的首页文件。
-
error_page:定义错误页面的处理规则。
-
location = /50x.html:定义50x错误页面的处理规则。
-