
Nginx配置静态Web服务器(使用ngx_http_core_module模块)
发布日期:2021-05-19 16:01:46
浏览次数:20
分类:精选文章
本文共 1572 字,大约阅读时间需要 5 分钟。
Nginx 配置静态 Web 服务器实用指南
虚拟主机的请求与分发
Nginx 根据 HTTP 请求中的 HOST
字段将请求分发到对应的虚拟主机上。若一个 IP 地址支持多个域名,可以通过 server_name
在 server
块中定义多个域名,确保每个域名分别处理对应请求。
主要配置项
监听端口
使用listen
指令指定 IP 地址、主机名、端口号或组合,默认不指定端口时监听端口 80。 server_name 配置
定义与请求的HOST
匹配的域名,可支持多个域名的同时接,优先级为:完全匹配 > 通配符前 > 通配符后 > 正则表达式。 server_name哈希优化
使用server_names_hash_bucket_size
和 server_names_hash_max_size
配置,以加快主机名匹配速度。 重定向主机名称
Configureserver_name_in_redirect
为 on
或 off
,决定在重定向时使用哪个主机名。 资源路径匹配
使用location
匹配 URI,指定服务器资源路径,可结合 root
、alias
定义路径。 文件路径定义
root 与 alias 配置
- root 方式:设置资源路径前缀,如
location /download/ { root /opt/web/html; }
。 - alias 方式:设置文件路径的别名,如
location /conf/ { alias /usr/local/nginx/conf/; }
。
首页访问设置
默认未配置时,访问根路径 /
会自动返回 index.html
或支持 indexer 模块的自定义首页。
错误页面重定向
可通过 error_page
指令定义错误状态码对应的重定向页面,例如:
error_page 404 /404.html;error_page 502 503 504 /50x.html;
try_files 配置
用于多级反向代理或负载均衡,设置请求未找到时的处理路径。
内存及磁盘资源管理
HTTP 请求处理设置
- 内存缓冲:设置
client_header_buffer_size
、client_body_buffer_size
等,优化大型 HTTP 请求的处理。 - 临时存储路径:指定
client_body_temp_path
,管理大型请求的临时文件。
网络连接设置
- 超时控制:通过
client_header_timeout
、client_body_timeout
、send_timeout
等设置连接使用超时。 - TCP 连接优化:使用
keepalive_timeout
、tcp_nodelay
等优化长连接处理。
MIME 类型管理
自定义 MIME 类型
可通过 types
块自定义文件后缀与 MIME 类型映射,结合 default_type
设置默认类型。
客户端请求限制
请求大小限制
使用 client_max_body_size
设置请求包体大小限制,可结合 limit_rate
配置限速策略。
文件操作优化
- sendfile 倦iyi:启用后优化文件随机访问性能。
- AIO 调整:根据操作系统支持情况启用 async IO。
特殊处理选项
Header 处理
- 忽略无效 Header:使用
ignore_invalid_headers
控制无效报头处理。 - 解析域名:设置
resolver
指令指定 DNS 解析服务器地址。
总结
以上配置项可帮助构建高效的静态 Web 服务器,灵活满足各种部署需求。通过合理配置 listen
、server_name
、root/alias
、try_files
等参数,可以实现对不同 URI 的精准控制和资源管理优化。
发表评论
最新留言
逛到本站,mark一下
[***.202.152.39]2025年04月23日 06时24分23秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Windows10:远程桌面连接报错“出现身份验证错误。要求的函数不受支持”
2019-03-21
Golang: ,ok模式
2019-03-21
C++ 错误:“xxx” does not name a type
2019-03-21
找不到自己Win10的Linux子系统的根目录?在这里哟!
2019-03-21
redis的发布和订阅
2019-03-21
lettcode 221. 最大正方形
2019-03-21
汇编语言(王爽第三版)实验十
2019-03-21
112. 路径总和(Javascript)
2019-03-21
G1 如何做到可预测的停顿和G1 垃圾收集器入门
2019-03-21
Tomcat启动报404(eclipse)
2019-03-21
0X3协议与数据包
2019-03-21
文件与数据格式化
2019-03-21
flutter 错误The method '/' was called on null.
2019-03-21