一.隐藏版本号,提示安全性能优化
1)配置文件nginx.conf,添加到http, server, location区块下即可。
2)第一个配置文件路径http
[root@master http]# vim ngx_http_header_filter_module.c
49 static u_char ngx_http_server_string[] = “Server: bay” CRLF;
50 static u_char ngx_http_server_full_string[] = “Server: ” NGINX_VER CRLF;
51 static u_char ngx_http_server_build_string[] = “Server: ” NGINX_VER_BUILD CRLF;
3)第二个配置文件路径
[root@master http]# vim ngx_http_special_response.c 21 static u_char ngx_http_error_full_tail[] =
22 “<hr><center>” NGINX_VER “<a heaf=http://www.91zfq.top /a></center>” CRLF
23 “</body>” CRLF
24 “</html>” CRLF
35 static u_char ngx_http_error_tail[] =
36 “<hr><center>bay</center>” CRLF
37 “</body>” CRLF
38 “</html>” CRLF
3)第二个core
/home/oldboy/tools/nginx-1.12.2/src/core/nginx.h
/*
* Copyright (C) Igor Sysoev
* Copyright (C) Nginx, Inc.
*/
#ifndef _NGINX_H_INCLUDED_
#define _NGINX_H_INCLUDED_
#define nginx_version 1012002
#define NGINX_VERSION “bay”
#define NGINX_VER “bay/” NGINX_VERSION
#ifdef NGX_BUILD
#define NGINX_VER_BUILD NGINX_VER ” (” NGX_BUILD “)”
#else
#define NGINX_VER_BUILD NGINX_VER
#endif
#define NGINX_VAR “bay”
#define NGX_OLDPID_EXT “.oldbin”
#endif /* _NGINX_H_INCLUDED_ */
二、修改worker进程的用户信息
1)修改nginx worker进程用户信息
方法一、
./configure –prefix=/usr/local/nginx-1.12.2 –user=www –group=www –with-http_stub_status_module –with-http_ssl_module
2)修改nginx主配置文件,实现修改worker进程用户
user 用户名;
修改配置文件重启服务即可。
3)优化Nginx服务的进程数量
worker_processes 1;
设置:
服务器硬件配置高根据CPU核数来配置,如果配置一般建议根据棵数配置。
4)优化nginx服务进程均匀分配到不同CPU进程。
worker_processes 4; worker_cpu_affinity 0001 0010 0100 1000;
基于二进制方式来核算CPU的位置分配,根据服务器的CPU核数计算。
5)八核CPU参数配置
6)4-2核配置分配方法
7)调整nginx单个进程允许的客户端最大连接数量
#user nobody;
worker_processes 1;
events {
worker_connections 1024;
}
表示一个worker进程最大的用户连接数量1024。
配置nginx worker进程最大文件打数量
调整nginx worker进程的最大打开文件数量,这个控制连接数量的参数为worker_rlimit_nofile.该参数的实际配置如下:
worker_rlimit_nofile 65535;
最大打开文件数量,可设置为系统优化ulimit -HSn的结果
设置参数:sendeile on;
开启高效文件传输模式
tcp_nodelay: 对用户
tcp_nopush; 服务器
设置nginx连接超时时间
keepalive_timeout 60 客户端与服务器在指定时间内没有任何通讯,就会断掉连接
client_header_timeout 15 服务端读取客户端请求报文时间
client_body_timeout 客户端发送请求报文的时间间隔超时时间
send_timout 服务端发送响应报文的间隔超时时间