#http標籤下新增
server_tokens off;
#測試[root@cobbler ~]# curl -i 172.16.1.15
server: nginx #這裡已經沒有版本號了
#通過修改原始碼將nginx及版本號替換為其他名稱,更改完要重新編譯1. vim nginx-1.6.3/src/core/nginx.h #軟體資訊
3. vim nginx-1.6.3/src/http/ngx_http_special_response.c #報錯頁面資訊展示
22 "" nginx_ver "(" crlf
29 "peter" crlf
#重新編譯後,進行測試
[root@cobbler nginx-1.6.3]# curl -i 172.16.1.15
server: peter
#方法1:修改配置檔案user nginx nginx;
#方法2:編譯時新增使用者引數
#一般而言,worker程序的數量應等於cpu的核數;對於高併發業務,worker程序數量可以等於核數的2倍。#修改nginx配置檔案
worker_processes 2;
#檢視cpu核心數量
[root@cobbler ~]# grep processor /proc/cpuinfo | wc -l
2#檢視物理cpu的個數
[root@cobbler ~]# grep 'physical id' /proc/cpuinfo | sort | uniq | wc -l
1#reload後檢查結果
[root@cobbler ~]# ps -ef | grep nginx
root 48290 1 0 18:02 ? 00:00:00 nginx: master process sbin/nginx
nginx 54530 48290 0 20:25 ? 00:00:00 nginx: worker process
nginx 54531 48290 0 20:25 ? 00:00:00 nginx: worker process
#注:uniq是乙個去重命令,但注意aabb可以變為ab,abab則還是abab。所以去重之前要先用sort進行排序。
#主要使用引數worker_cpu_affinity 配置worker和cpu的親和度worker_processes 4;
worker_cpu_affinity 0001 0010 0100 1000; # 這裡0001 0010 0100 1000是掩碼,分別代表第1、2、3、4核cpu
#假設worker程序數為4,cpu核心數為4,則掩碼就為4位,分別對應不同的cpu核心。
#如果worker程序數為2,cpu核心數為4,則可以按照0101、1010為每個程序分配兩個核心。
#八核cpu則按照00000001、00000010依次分配
#可以使用壓力測試工具webbench進行壓力測試,top觀察每個cpu的使用率
#nginx的連線處理機制在不同的作業系統下會使用不同的i/o模型。linux系統下使用epoll的i/o多路復用模型。配置引數為use epoll,注意設定在events標籤下,events區塊用於設定連線程序。
events
#引數worker_connections 20480;也是在events標籤下設定;注意使用「ulimit -hsn 65535」設定單個程序的檔案描述符的最大數量events
#可以和ulimit的設定的數量一樣,main標籤下。worker_rlimit_nofile 65535;
#sendfile()函式用於核心中進行兩個檔案描述符之間的資料拷貝,由於在核心執行,效率相比read write要高http#tcp_nopush引數允許將http response header和body的開始部分放在乙個檔案裡進行發布,可以減少網路報文段的數量,提高i/o效能
#tcp_nodelay用於當資料傳送時,核心不會馬上傳送,會等待更多的位元組然後傳送以提高i/o效能,如果小檔案比較多就不要開啟了,
#不然等待時間會比較長。
#keepalive_timeout用於設定連線超時,當客戶端長時間沒有請求則關閉tcp連線#client_header_timeout用於設定讀取請求頭資料的超時時間,防止客戶端利用http協議進行攻擊
#client_body_timeout用於設定讀取請求主體的超時時間,指2次成功讀取之間的間隔
#send_timeout用於設定使用者兩次活動之間的間隔
#client_max_body_size用於限制請求主體的大小Nginx效能調優引數設定
1.1阻塞和非阻塞網路模型 同步阻塞模型,當相求程序或者執行緒數量增加到一定程度後,效能會急劇下降,負載率不高。不建議使用 nginx基於事件的非阻塞多路復用 epool或kquene 模型,乙個程序在短時間內可以響應大量的請求。建議使用 1.2cpu個數 建議 小於等於cpu核心的數量,一般高於c...
nginx引數調優
不完整配置參考 可參考修改或新增以下配置 引數說明 nginx程序數,一般設定為cpu核數量,grep processor proc cpuinfo wc l 命令可獲得cpu核數。將worker process與指定cpu核繫結,降低由於多cpu核切換造成的暫存器等現場重建帶來的效能損耗 如果為2...
nginx安全引數
strict transport security,簡稱hsts。該響應頭用於標識瀏覽器用https替代http的方式去訪問目標站點。我們知道https相對於http有更好的安全性,而很多https 也可以通過http來訪問。開發人員的失誤或者使用者主動輸入位址,都有可能導致使用者以http訪問 降...