博文大纲:
- 一、编译安装前的优化
- 二、Nginx配置项优化
- 1、调整Nginx运行工作进程个数
- 2、Nginx运行CPU亲和力
- 3、Nginx事件处理模型
- 4、开启高效传输模式
- 5、连接超时时间
- 6、fastcgi优化
- 7、gzip调优
- 8、expires缓存调优
- 9、配置防盗链
- 10、内核参数优化
- 11、关于系统连接数的优化
- 三、验证上述优化及Nginx服务器压力测试
- 1、测试防盗链功能
- 2、压力测试
编译安装前的优化主要是用来修改程序名等等,通过更改源码以便隐藏软件名称和版本号。
请先下载我提供的所需源码包。
1、开始安装:
[root@nginx ~]# yum -y erase httpd #卸载系统默认的httpd服务,防止端口冲突
[root@nginx ~]# yum -y install openssl-devel pcre-devel #安装所需依赖
[root@nginx src]# rz #rz命令上传所需源码包
[root@nginx src]# ls #确认上传的源码包
nginx-sticky-module.zip nginx-1.14.0.tar.gz ngx_cache_purge-2.3.tar.gz
#将上传的源码包进行解压
[root@nginx src]# tar zxf nginx-1.14.0.tar.gz
[root@nginx src]# unzip nginx-sticky-module.zip
[root@nginx src]# tar zxf ngx_cache_purge-2.3.tar.gz
[root@nginx src]# cd nginx-1.14.0/ #切换至nginx目录
[root@nginx nginx-1.14.0]# vim src/core/nginx.h #修改以下两行配置
#define NGINX_VERSION "6.6" #这里是修改nginx的版本号
#define NGINX_VER "IIS/" NGINX_VERSION #这里修改的是软件名称,我将原有的nginx改为了IIS。
#修改后,保存退出即可
[root@nginx nginx-1.14.0]# vim src/http/ngx_http_header_filter_module.c #编辑该文件
#修改前如下:
static u_char ngx_http_server_string[] = "Server: nginx" CRLF; #第49行
#修改后如下:
static u_char ngx_http_server_string[] = "Server: IIS" CRLF; #该IIS和前一个文件更改的最好一致。
#更改完成后,保存退出即可。
[root@nginx nginx-1.14.0]# vim src/http/ngx_http_special_response.c #修改此配置文件,防止页面出现错误时,回显时带着nginx和版本号
#修改前如下:
static u_char ngx_http_error_tail[] = #在此之前有一行与此非常相似,注意区分,这行的error后面没有build字样。
"
nginx " CRLF #第36行
"
" CRLF "