nginx server配置段
server 配置段定义一个虚拟主机,控制如何处理特定域名或端口的请求。
基础配置
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
nginx
# 监听端口
listen 80;
listen 443 ssl;
listen 8080 default_server;
# 监听 IP:端口
listen 192.168.1.1:80;
listen [::]:80;
| 参数 | 说明 |
|---|---|
default_server | 默认虚拟主机,处理未匹配的请求 |
ssl | 启用 SSL |
http2 | 启用 HTTP/2 |
backlog | 监听队列大小 |
server_name
nginx
# 精确匹配
server_name example.com;
# 多域名
server_name example.com www.example.com;
# 通配符
server_name *.example.com;
server_name www.example.*;
# 正则
server_name ~^www\d+\.example\.com$;
# 捕获所有
server_name _;
root 与 alias
nginx
# root:指定文档根目录
server {
root /var/www/html;
}
# 继承到 location
location /images/ {
# 实际路径:/var/www/html/images/
}
index
nginx
index index.html index.htm index.php;
定义默认首页文件,按顺序尝试。
请求头配置
nginx
server {
client_max_body_size 10m;
client_header_buffer_size 1k;
large_client_header_buffers 4 8k;
}
超时设置
nginx
server {
client_body_timeout 12;
client_header_timeout 12;
send_timeout 10;
}
日志配置
nginx
server {
access_log /var/log/nginx/example.access.log;
error_log /var/log/nginx/example.error.log warn;
}
错误页面
nginx
server {
error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}
重定向
nginx
# HTTP 跳转 HTTPS
server {
listen 80;
server_name example.com;
return 301 https://$host$request_uri;
}
# 域名跳转
server {
server_name old.com;
return 301 https://new.com$request_uri;
}
默认虚拟主机
nginx
server {
listen 80 default_server;
server_name _;
return 444;
}
注意事项
- server_name 匹配优先级:精确 > 通配符前缀 > 通配符后缀 > 正则
- 同一端口多个 server 时,第一个或 default_server 处理未匹配域名
- return 444 是 Nginx 特有状态码,直接关闭连接
- server 段配置会被子 location 段继承
多 server 示例
nginx
server {
listen 80;
server_name site1.com;
root /var/www/site1;
}
server {
listen 80;
server_name site2.com;
root /var/www/site2;
}
server {
listen 80;
server_name site3.com;
root /var/www/site3;
}
要点总结
- server 配置段定义虚拟主机,控制特定域名或端口的请求处理
- listen 指定监听地址和端口,server_name 指定域名
- root 指定文档根目录,index 指定默认首页
- server_name 支持精确匹配、通配符、正则表达式
- 配置被子 location 继承,可在 server 段设置日志、超时等
- return 301 实现永久重定向,return 444 关闭连接
📝 发现内容有误?点击此处直接编辑