nginx -v #查看版本
nginx -V #查看編譯選項(xiàng)
nginx -t #檢查配置文件語(yǔ)法,加-c 可指定配置文件
nginx -s reload #重新載入配置文件,不重啟
在http{}段添加以下代碼
autoindex on;? # 開(kāi)啟顯示目錄
autoindex_exact_size off;
#默認(rèn)為on,顯示出文件的確切大小,單位全是bytes,改為off后,顯示出文件的大概大小,單位可能換算成kB或者M(jìn)B或者GB,建議關(guān)閉
autoindex_localtime on;
#默認(rèn)為off,顯示的文件時(shí)間為GMT(世界世界)時(shí)間,改為on后,顯示的文件時(shí)間為文件的服務(wù)器時(shí)間,建議開(kāi)啟
監(jiān)控nginx 需要 "--with-http_stub_status_module" 這個(gè)模塊
nginx -V &>123.txt;cat 123.txt|grep status #使用這個(gè)命令能查看 這個(gè)模塊是否被裝載
開(kāi)啟,在server 段在添加一個(gè)" location"
location /status {
stub_status; #
access_log off;
}
參數(shù)說(shuō)明
active connections – 活躍的連接數(shù)量
server accepts handled requests — 總共處理了107520387個(gè)連接 , 成功創(chuàng)建107497834次握手, 總共處理了639121056個(gè)請(qǐng)求
每個(gè)連接有三種狀態(tài)waiting、reading、writing
reading —讀取客戶端的Header信息數(shù).這個(gè)操作只是讀取頭部信息,讀取完后馬上進(jìn)入writing狀態(tài),因此時(shí)間很短。
writing — 響應(yīng)數(shù)據(jù)到客戶端的Header信息數(shù).這個(gè)操作不僅讀取頭部,還要等待服務(wù)響應(yīng),因此時(shí)間比較長(zhǎng)。
waiting — 開(kāi)啟keep-alive后等候下一次請(qǐng)求指令的駐留連接.
正常情況下waiting數(shù)量是比較多的,并不能說(shuō)明性能差。反而如果reading+writing數(shù)量比較多說(shuō)明服務(wù)并發(fā)有問(wèn)題。
測(cè)試長(zhǎng)短連接
將"keepalive_timeout" 配置成0(改為短連接) 重啟,刷新status 頁(yè)面
#從上圖可以看見(jiàn),每次請(qǐng)求都建立一次tcp連接
在將"keepalive_timeout"配置改為10 重啟,刷新status 頁(yè)面
#不斷的刷新可以發(fā)現(xiàn),請(qǐng)求數(shù)不斷的增加,但是tcp連接數(shù)只有等過(guò)了10秒后再刷新才會(huì)增加
為什么要用長(zhǎng)連接,長(zhǎng)連接比短連接好在哪里
長(zhǎng)連接實(shí)際上就是復(fù)用TCP連接,一個(gè)網(wǎng)頁(yè)里一般有幾十個(gè)資源,如果使用短連接,請(qǐng)求一個(gè)網(wǎng)頁(yè)短連接要進(jìn)行幾十次的tcp 請(qǐng)求斷開(kāi),極大的消耗了資源。
但是用長(zhǎng)連接就不一樣了,幾十個(gè)請(qǐng)求都用同一個(gè)tcp連接,但是也不能讓它永久的連接,這樣會(huì)把服務(wù)器的端口端口撐滿的,所以還有個(gè)超時(shí)時(shí)間,在超過(guò)這個(gè)時(shí)間沒(méi)有新的請(qǐng)求就斷開(kāi)。
應(yīng)用范圍,可在http server location 段生效
ip控制
location /status {
allow 192.168.0.0/24;
deny all;
}
#上面表示,"/status"這個(gè)資源只有192.168.0.0/24 的網(wǎng)段有權(quán)限訪問(wèn),匹配規(guī)則和acl一樣 自上到下匹配,匹配到第一條后面的不在匹配
密碼控制
location /status {
auth_basic 請(qǐng)輸入你的帳號(hào)密碼;
#提示信息,有的瀏覽器可能不顯示
auth_basic_user_file /etc/nginx/passwd;
#賬號(hào)密碼存放的的路徑
}
#表示"/status" 訪問(wèn)這個(gè)url需要,輸入密碼
密碼文件生成
yum install httpd-tools.x86_64 -y #安裝http工具,生成密碼文件需要這個(gè)軟件
htpasswd -bc /etc/nginx/passwd cs1 123456# -c是生成密碼文件,添加兩個(gè)賬號(hào),添加第二個(gè)不要加-c。
#在" /etc/nginx/"這個(gè)路徑生成一個(gè)"passwd"的文件,存放到一個(gè)賬號(hào)cs1 密碼123456