Nginx配置静态Web服务器(使用ngx_http_core_module模块)
发布日期:2021-05-19 16:01:46 浏览次数:20 分类:精选文章

本文共 1572 字,大约阅读时间需要 5 分钟。

Nginx 配置静态 Web 服务器实用指南

虚拟主机的请求与分发

Nginx 根据 HTTP 请求中的 HOST 字段将请求分发到对应的虚拟主机上。若一个 IP 地址支持多个域名,可以通过 server_nameserver 块中定义多个域名,确保每个域名分别处理对应请求。

主要配置项

  • 监听端口

    使用 listen 指令指定 IP 地址、主机名、端口号或组合,默认不指定端口时监听端口 80。

  • server_name 配置

    定义与请求的 HOST 匹配的域名,可支持多个域名的同时接,优先级为:完全匹配 > 通配符前 > 通配符后 > 正则表达式。

  • server_name哈希优化

    使用 server_names_hash_bucket_sizeserver_names_hash_max_size 配置,以加快主机名匹配速度。

  • 重定向主机名称

    Configure server_name_in_redirectonoff,决定在重定向时使用哪个主机名。

  • 资源路径匹配

    使用 location 匹配 URI,指定服务器资源路径,可结合 rootalias 定义路径。

  • 文件路径定义

    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_sizeclient_body_buffer_size 等,优化大型 HTTP 请求的处理。
    • 临时存储路径:指定 client_body_temp_path,管理大型请求的临时文件。

    网络连接设置

    • 超时控制:通过 client_header_timeoutclient_body_timeoutsend_timeout 等设置连接使用超时。
    • TCP 连接优化:使用 keepalive_timeouttcp_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 服务器,灵活满足各种部署需求。通过合理配置 listenserver_nameroot/aliastry_files 等参数,可以实现对不同 URI 的精准控制和资源管理优化。

    上一篇:Nginx配置反向代理服务器(HTTP proxy module)
    下一篇:搞清楚socket

    发表评论

    最新留言

    逛到本站,mark一下
    [***.202.152.39]2025年04月23日 06时24分23秒