当前位置:首页>Linux>Linux进阶 | Nginx 服务安装与配置(八):生产环境优化与安全加固指南

Linux进阶 | Nginx 服务安装与配置(八):生产环境优化与安全加固指南

  • 2026-09-17 13:48:39
Linux进阶 | Nginx 服务安装与配置(八):生产环境优化与安全加固指南
在前面的文章中,我们已经逐步完成了:
  1. Nginx 安装与基础配置
  2. 虚拟主机部署
  3. 反向代理
  4. 负载均衡
  5. HTTPS 配置
到这里,其实已经可以上线一个网站了。
但在真实生产环境中,仅仅“能跑”远远不够。
还需要考虑:
  1. 性能优化
  2. 安全加固
  3. 日志管理
  4. 防止恶意访问
这一篇,我们从运维角度,讲讲Nginx 上线前必须做的几件事。

一、隐藏 Nginx 版本号(安全加固)

默认情况下,Nginx 会在响应头中暴露版本信息。
例如:Server: nginx/1.20.1
这在安全上是不推荐的,因为攻击者可以根据版本寻找漏洞。
解决方法很简单,在 http 块中加入:
server_tokens off;
示例:
http {    server_tokens off;}
重载服务:
nginx -s reload
再次查看响应头,就不会显示版本号了。

二、优化 Worker 进程

Nginx 的高并发能力很大程度来自worker 进程模型。
推荐配置:
worker_processes auto;
含义:自动根据 CPU 核心数分配进程。
再优化连接数:
events {    worker_connections 4096;}
理论最大并发:worker_processes × worker_connections
例如:
4 × 4096 ≈ 16000
这对于普通业务已经非常充足。

三、开启 Gzip 压缩

开启压缩可以明显减少带宽消耗。
在 http 中添加:
gzip on;gzip_types text/plain text/css application/json application/javascript;gzip_min_length 1k;gzip_comp_level 5;
作用:
减少 HTML / CSS / JS 大小
提高网页加载速度
注意:
图片、视频不需要压缩。

四、限制请求速率(防止恶意刷接口)

如果接口被恶意请求,服务器很容易被打爆。
可以使用 Nginx 的限流模块。
在 http 中定义:
limit_req_zone $binary_remote_addr zone=req_limit:10m rate=10r/s;
然后在 server 或 location 中使用:
location /api/ {  limit_req zone=req_limit burst=20;}
含义:
每个 IP 每秒 10 次请求
突发允许 20 次
这对防止爬虫或攻击非常有效。

五、限制上传文件大小

默认情况下,客户端可以上传非常大的文件。
为了防止恶意上传,可以设置:
client_max_body_size 20M;
例如:
server {  client_max_body_size 20M;}
超过限制会返回:
413 Request Entity Too Large

六、访问日志优化

访问日志默认开启:/var/log/nginx/access.log
如果访问量很大,日志会迅速膨胀。
可以按站点拆分:
access_log /var/log/nginx/site1_access.log;
实时查看:
tail -f /var/log/nginx/site1_access.log
这对于排查问题非常关键。

七、日志切割(Logrotate)

生产环境必须定期切割日志。
Linux 一般使用logrotate。
配置文件通常在:
/etc/logrotate.d/nginx
示例:
/var/log/nginx/*.log {dailyrotate 14compressmissingoknotifempty}
含义:
每天切割
保留 14 天
自动压缩
这样日志不会无限增长。

八、基础安全规则

建议增加一些简单安全规则。
禁止访问隐藏文件:
location ~ /\. {  deny all;}
防止访问:
.git.env.htaccess
这些文件如果暴露会造成严重安全问题。

九、生产环境架构示意

典型互联网架构:

用户

↓

CDN

↓

Nginx 负载均衡

↓

应用服务器集群

↓

数据库

在这个体系中,Nginx的角色是:
  • 流量入口
  • 反向代理
  • 负载均衡
  • 安全防护
几乎所有互联网系统都离不开它。

十、本系列总结

通过这一整套教程,你已经系统掌握了:
基础篇:
  • Nginx 安装
  • 配置结构解析
  • 虚拟主机部署
进阶篇:
  • 反向代理
  • 前后端分离
  • 负载均衡
高级篇:
  • HTTPS 配置
  • 性能优化
  • 安全加固
如果全部实践一遍,你已经具备:独立部署生产级 Web 服务的能力。
到这里,nginx的系列也就告一段落了,感谢大家的关注和陪伴!后面如果你们有什么想学习的专辑系列,也可以在文章后留言!我们一起去探索更大的互联网世界

最新文章

随机文章