Nginx 调优
- 隐藏 Nginx 版本号
- 修改 nginx 运行用户-设置 nginx 的 cpu 亲和力
- 设置 Nginx 每个进程最多可以打开的文件数和事件处理模型
- ServerName 和 location 匹配及高效传输模式
- Fastcgi 调优-gzip 压缩网页调优-expires 缓存调优
- 日志切割优化-目录文件访问控制-来源访问控制
- 禁止使用 IP 访问网站和 301 优化-防盗链-错误页面的提示-开启认证功能
- 修改 nginx 源代码
- 下载 nginx
- wget http://nginx.org/download/nginx-1.21.1.tar.gz
- 隐藏 Nginx 版本号,需要一共修改 3 个源代码文件 nginx.h ngx_http_header_filter_module.c ngx_http_special_response.c
- tar xf nginx-1.21.1.tar.gz -C /opt/
cd /opt/nginx-1.21.1/
- vim src/core/nginx.h
- 改:
define NGINX_VERSION "1.21.1"
define NGINX_VER "nginx/" NGINX_VERSION
为:
#define NGINX_VERSION "8.8.8.8" #此行修改的是你想要的版本号。
#define NGINX_VER "GF/" NGINX_VERSION #此行修改的是你想修改的软件名称。
- 修改 HTTP 头信息中的 connection 字段,防止回显具体版本号
- vim src/http/ngx_http_header_filter_module.c
- 改:static char ngx_http_server_string[] = "Server: nginx" CRLF;
- 为:static u_char ngx_http_server_string[] = "Server: GF" CRLF;
- 修改 ngx_http_special_response.c 文件定义了 Nginx 报 404 错误时,不回显版本号。
- vim src/http/ngx_http_special_response.c
- 改 :static u_char ngx_http_error_tail[] =
"
nginx" CRLF
"