1、配置nginx隱藏版本號
在生產環境中,須要隱藏nginx的版本號,以免安全漏洞的泄露
查看方法javascript
[root@nginx ~]# curl -I http://192.168.150.213 Server: nginx/1.12.2 [root@nginx ~]# vim /usr/local/nginx/conf/nginx.conf server_tokens off;
(2)重啓服務,訪問網站使用curl -I 命令檢測php
[root@nginx ~]# service nginx restart [root@nginx ~]# curl -I http://192.168.150.213 Server: nginx
二、修改源碼法
(1)nginx源碼文件nginx-1.12.2/src/core/nginx.h 包含了版本信息,能夠隨意設置css
[root@nginx ~]# cd /opt/nginx-1.12.2/src/core/ [root@nginx core]# vim nginx.h #define NGINX_VERSION "1.1.1" #將1.12.2版本號改成1.1.1
(2)從新編譯安裝,隱藏版本信息
(3)重啓服務,訪問網站使用curl -I 命令檢測html
[root@nginx ~]# service nginx restart [root@nginx ~]# curl -I http://192.168.150.213 Server: nginx/1.1.1
2、修改nginx用戶與組前端
Nginx運行時進程須要有用戶與組的支持,以實現對網站文件讀取時進行訪問控制
Nginx默認使用nobody用戶帳號與組帳號,通常也要進行修改
修改的方法java
[root@nginx ~]# vim /usr/local/nginx/conf/nginx.conf user nginx nginx;
(2)重啓nginx服務,使配置生效
(3)使用ps aux命令查看nginx的進程信息,驗證運行用戶帳號改變效果
3、配置nginx網頁緩存時間
當Nginx將網頁數據返回給客戶端後,可設置緩存的時間,以方便在往後進行相同內容的請求時直接返回,避免重複請求,加快了訪問速度
通常針對靜態網頁設置,對動態網頁不設置緩存時間
可在Windows客戶端中使用fiddler查看網頁緩存時間
設置方法nginx
[root@nginx ~]# vim /usr/local/nginx/conf/nginx.conf location ~ \.(gif|jepg|jpg|ico|bmp|png)$ { root html; expires 1d; }
4、實現nginx的日誌切割
隨着Nginx運行時間增長,日誌也會增長,爲了方便掌握Nginx運行狀態,須要時刻關注Nginx日誌文件
太大的日誌文件對監控是一個大災難json
[root@nginx opt]# vim feng.sh #!/bin/bash #Filename:feng.sh d=$(date -d "-1 day" "+%Y%m%d") logs_path="/var/log/nginx" pid_path="/usr/local/nginx/logs/nginx.pid" [ -d $logs_path ] || mkdir -p $logs_path mv /usr/local/nginx/logs/access.log ${logs_path}/test.com-access.log-$d kill -USR1 $(cat $pid_path) find $logs_path -mtime +30 | xargs rm -rf [root@nginx opt]# chmod +x feng.sh
5、配置nginx實現鏈接超時
在企業網站中,爲了不同一個客戶長時間佔用鏈接,形成資源浪費,可設置相應的鏈接超時參數,實現控制鏈接訪問時間
使用Fiddler工具查看connection參數
超時參數講解vim
[root@nginx ~]# vim /usr/local/nginx/conf/nginx.conf keepalive_timeout 65 180; client_header_timeout 80; client_body_timeout 80;
6、更改nginx運行進程數
在高併發場景,須要啓動更多的Nginx進程以保證快速響應,以處理用戶的請求,避免形成阻塞
可使用ps aux命令查看Nginx運行進程的個數
更改進程數的配置方法centos
[root@nginx ~]# vim /usr/local/nginx/conf/nginx.conf worker_processes 2; worker_cpu_affinity 01 10;
7、配置nginx實現網頁壓縮功能
Nginx的ngx_http_gzip_module壓縮模塊提供對文件內容壓縮的功能
容許Nginx服務器將輸出內容在發送客戶端以前進行壓縮,以節約網站帶寬,提高用戶的訪問體驗,默認已經安裝
可在配置文件中加入相應的壓縮功能參數對壓縮性能進行優化
壓縮功能參數詳解
[root@nginx ~]# vim /usr/local/nginx/conf/nginx.conf gzip on; gzip_min_length 1k; gzip_buffers 4 16k; gzip_http_version 1.1; gzip_comp_level 6; gzip_types text/plain application/x-javascript text/css image/jpg image/jpeg image/png image/gif application/xml text/javascript application/x-httpd-php application/javascript application/json; gzip_disable "MSIE [1-6]\."; gzip_vary on; [root@nginx ~]# service nginx restart [root@nginx ~]# systemctl stop firewalld.service [root@nginx ~]# setenforce 0