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

微网站开发技巧上海住房和城市建设厅网站

微网站开发技巧,上海住房和城市建设厅网站,499元做网站,p2p种子网站建设一、模块定位与主要功能 核心职责 接受并解析客户端请求管理连接与请求生命周期(超时、长连接等)路由与分发:server、location、try_files静态文件服务:root / alias / sendfile缓冲与 I/O 优化:client_body_buffer_s…

一、模块定位与主要功能

  • 核心职责
    • 接受并解析客户端请求
    • 管理连接与请求生命周期(超时、长连接等)
    • 路由与分发:serverlocationtry_files
    • 静态文件服务:root / alias / sendfile
    • 缓冲与 I/O 优化:client_body_buffer_sizeaiodirectio
    • 访问控制与限速:limit_exceptlimit_ratesatisfy
    • 错误处理:error_pagerecursive_error_pages
    • 日志与调试:log_not_foundlog_subrequest

二、请求与连接管理

1. 超时控制
client_header_timeout  60s;   # 读取请求头超时时间
client_body_timeout    60s;   # 读取请求体超时时间
send_timeout           60s;   # 发送响应超时时间
keepalive_timeout      75s;   # 长连接超时时间

合理调节可平衡用户体验与资源占用,避免慢速客户端拖垮 worker。

2. 缓冲与临时文件
client_body_buffer_size     16k;          # 请求体缓冲大小
client_body_in_single_buffer on;           # 将请求体保存在单一缓冲区
client_body_temp_path       /tmp/nginx_body 1 2;  

当请求体过大时,NGINX 会将剩余部分写入临时文件。client_body_in_file_only on|clean 可强制或清理这些文件。

三、静态文件 I/O 优化

1. sendfileaio
sendfile        on;       # 使用零拷贝
tcp_nopush      on;       # 合并头部与文件首块
aio             on;       # 异步读文件(Linux/FreeBSD)
directio        4m;       # 文件大于 4MB 时启用 O_DIRECT
  • Zero-copysendfile 将内核页缓存直接发送给网络套接字。
  • AIO + DirectIO:对于大文件启用异步与直接 I/O,减轻 worker 进程阻塞。
2. 读写分块
sendfile_max_chunk 2m;    # 限制单次 sendfile 大小,防止吞占过多 worker
output_buffers      2 32k;# 磁盘文件读取缓冲区
postpone_output     1460;  # 在缓冲区满一定数据后再发送

四、路由与文件定位

1. root vs alias
location /images/ {root  /data/www;         # /images/foo.jpg → /data/www/images/foo.jpg
}
location /static/ {alias /data/static/;     # /static/foo.css  → /data/static/foo.css
}
  • alias:直接替换整个 URI 前缀,更灵活;
  • 正则 Location 下 alias:必须引用捕获组。
2. try_files
location / {try_files $uri $uri/ /index.html =404;
}

按顺序检测文件或目录,未命中则内部重定向或返回错误。

3. location 匹配优先级
  1. 精确匹配 (= /)
  2. 前缀匹配最长 (^~)
  3. 正则按定义顺序
  4. 普通前缀

五、访问控制与限速

1. 方法限制
location /api/ {limit_except GET POST {deny all;}
}

仅允许指定方法,其余返回 405 或 403。

2. 速率限制
limit_rate       100k;       # 每个请求最大 100KB/s
limit_rate_after 1m;         # 前 1MB 不限速

配合 map 动态速率可实现分级限流;也可通过 $limit_rate 变量设置。

3. 访问策略
satisfy any;
allow  192.168.1.0/24;
deny   all;
auth_basic           "Restricted";
auth_basic_user_file /etc/nginx/htpasswd;

all 要求同时满足 IP 白名单与身份验证;any 则二者其一即可。

六、错误处理与日志

1. 错误页自定义
error_page 404  /404.html;
error_page 500 502 503 504  /50x.html;
error_page 403 =301 http://example.com/forbidden.html;

支持内部重定向与外部跳转,可变更响应码:=200

2. 日志开关
log_not_found    off;  # 不记录 404
log_subrequest   on;   # 记录子请求
recursive_error_pages on; # 多级错误页跳转

七、内置变量精要

变量含义
$remote_addr客户端 IP
$request_uri原始请求 URI
$args查询字符串
$request_body请求体(小体量时)
$document_rootrootalias
$uri规范化后的 URI(可能因重写改变)
$hostHost 头或服务器名
$schemehttp/https
$status响应状态码
$connection_requests单连接请求计数
$request_time请求处理总时长,精度毫秒

借助这些变量,可在日志、proxy_passadd_header 等指令中灵活操作。

八、最佳实践与调优建议

  1. 连接与超时:根据业务特性合理缩短超时,避免“慢速客户端攻击”。
  2. 缓冲与 I/O:静态大文件启用 sendfile+aio+directio;小文件用默认即可。
  3. 路由规则顺序:将最热路径放在前面(如 = /favicon.ico^~ /static/)加速匹配。
  4. 错误页与重试:避免过度递归的错误重定向,recursive_error_pages 仅在必要时开启。
  5. 安全策略:结合 limit_exceptsatisfydisable_symlinks 加固防护。
  6. 日志管理:对高并发路径关闭 log_not_found,对子请求、反向代理开启 log_subrequest,便于排查。

九、总结

ngx_http_core_module 是 NGINX HTTP 服务的基础基石,其指令涵盖了从连接管理、请求解析到路由分发、文件 I/O、访问控制、错误处理等核心场景。通过合理组合各项指令与内置变量,可打造高性能、可维护且安全的 Web 服务架构。希望本篇详解能帮助你在生产环境中灵活运用、精细调优,打造卓越的 NGINX 应用。


文章转载自:

http://rucpCNEl.yktwr.cn
http://hWNWFp6x.yktwr.cn
http://IV9181HM.yktwr.cn
http://JfqmNscC.yktwr.cn
http://nfTbupYq.yktwr.cn
http://kd1UMrdZ.yktwr.cn
http://ksdIeN7e.yktwr.cn
http://fUNhNa55.yktwr.cn
http://0QIGXAQX.yktwr.cn
http://uFxbGoSK.yktwr.cn
http://EaWpjHkf.yktwr.cn
http://aVCgRd0L.yktwr.cn
http://eKI44xlm.yktwr.cn
http://5UKUHVul.yktwr.cn
http://JoVCjr1n.yktwr.cn
http://BO3jfWOJ.yktwr.cn
http://p9G9H4eO.yktwr.cn
http://mMji1C2w.yktwr.cn
http://kTUHdiYG.yktwr.cn
http://CTH2aQ1n.yktwr.cn
http://70G8ZXgD.yktwr.cn
http://U59EApTU.yktwr.cn
http://ywB5a2Qp.yktwr.cn
http://TslXcwUR.yktwr.cn
http://phYI2Fbb.yktwr.cn
http://7x0P1ayB.yktwr.cn
http://8tS3QkUN.yktwr.cn
http://2svihzdO.yktwr.cn
http://B371D9gX.yktwr.cn
http://CLvnwu1J.yktwr.cn
http://www.dtcms.com/wzjs/692503.html

相关文章:

  • 高密哪里做网站好网站建设案例基本流程
  • 网投网站制作备案价网站
  • 把网站放到服务器上免费做mc皮肤网站
  • 网站建设宣传广告如何写一个app
  • 做网站的计划书网站建设太金手指六六二九
  • 杭州教育网站建设外包加工网是正规的吗
  • 网站被恶意关键字访问贵州互联网公司
  • 网站策划包括什么如何在手机上做微电影网站
  • 网站的栏目有什么名字企业的网站建设怎么记科目
  • 淄博英文网站建设专业怎样做门户网站
  • 有哪些网站可以免费做推广的wordpress调整边栏
  • 做好的网站启用湛江网站建设产品优化
  • 滨州网站建设电话企业营销策划的基本原则是
  • 旅游网站建设与实现微信版网站开发
  • 国外网站怎么建设怎么修改网页源代码
  • 做网站 0元代理广告策划宣传公司
  • 做个淘宝客网站怎么做网站程序免费下载
  • 多平台网站设计实例免费下载一个app
  • 电商网站怎么制作烟台专业做网站公司哪家好
  • 青岛网站设计如何做怎样建一个免费网站
  • 云南网站设计公司桦甸网站建设
  • 德阳网站建设优化网站开发用户名不存在
  • 佛山北京网站建设网站的设计制作与维护
  • 茌平建设局网站桂林市区有什么好玩的
  • 网页下载网站软件外包平台的服务商
  • 不可上网新余seo
  • 网站系统类型wordpress禁言插件
  • 重庆职业能力建设投稿网站贵阳网站开发公司
  • 万网备案初审过了后网站能访问吗wordpress算术验证码
  • 沧州市东光建设局 网站在线报名网站建设