一.隐藏版本号,提示安全性能优化

1)配置文件nginx.conf,添加到http, server, location区块下即可。

server_tokens

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 服务端发送响应报文的间隔超时时间