nignx 基本模塊

1.nginx 經常使用命令

nginx -v #查看版本
nginx -V #查看編譯選項
nginx -t #檢查配置文件語法,加-c 可指定配置文件
nginx -s reload #從新載入配置文件,不重啓nginx

2.開啓目錄列表

在http{}段添加如下代碼瀏覽器

autoindex on;  # 開啓顯示目錄
autoindex_exact_size off;
#默認爲on,顯示出文件的確切大小,單位全是bytes,改成off後,顯示出文件的大概大小,單位可能換算成kB或者MB或者GB,建議關閉
autoindex_localtime on;
#默認爲off,顯示的文件時間爲GMT(世界世界)時間,改成on後,顯示的文件時間爲文件的服務器時間,建議開啓

nignx 基本模塊

3.監控nginx

監控nginx 須要 "--with-http_stub_status_module" 這個模塊
nginx -V &>123.txt;cat 123.txt|grep status #使用這個命令能查看 這個模塊是否被裝載服務器

開啓,在server 段在添加一個" location"
location /status {
stub_status; #
access_log off;
}
參數說明併發

  active connections – 活躍的鏈接數量

  server accepts handled requests — 總共處理了107520387個鏈接 , 成功建立107497834次握手, 總共處理了639121056個請求

  每一個鏈接有三種狀態waiting、reading、writing

  reading —讀取客戶端的Header信息數.這個操做只是讀取頭部信息,讀取完後立刻進入writing狀態,所以時間很短。

  writing — 響應數據到客戶端的Header信息數.這個操做不只讀取頭部,還要等待服務響應,所以時間比較長。

  waiting — 開啓keep-alive後等候下一次請求指令的駐留鏈接.

  正常狀況下waiting數量是比較多的,並不能說明性能差。反而若是reading+writing數量比較多說明服務併發有問題。

測試長短鏈接
將"keepalive_timeout" 配置成0(改成短鏈接) 重啓,刷新status 頁面
nignx 基本模塊
#從上圖能夠看見,每次請求都創建一次tcp鏈接
在將"keepalive_timeout"配置改成10 重啓,刷新status 頁面
nignx 基本模塊
#不斷的刷新能夠發現,請求數不斷的增長,可是tcp鏈接數只有等過了10秒後再刷新纔會增長tcp

爲何要用長鏈接,長鏈接比短鏈接好在哪裏
長鏈接實際上就是複用TCP鏈接,一個網頁裏通常有幾十個資源,若是使用短鏈接,請求一個網頁短鏈接要進行幾十次的tcp 請求斷開,極大的消耗了資源。
可是用長鏈接就不同了,幾十個請求都用同一個tcp鏈接,可是也不能讓它永久的鏈接,這樣會把服務器的端口端口撐滿的,因此還有個超時時間,在超過這個時間沒有新的請求就斷開。ide

4.訪問控制

應用範圍,可在http server location 段生效
ip控制工具

location /status {
             allow 192.168.0.0/24;
             deny all;
                         }

#上面表示,"/status"這個資源只有192.168.0.0/24 的網段有權限訪問,匹配規則和acl同樣 自上到下匹配,匹配到第一條後面的不在匹配性能

密碼控制
        location /status {
             auth_basic 請輸入你的賬號密碼;
                         #提示信息,有的瀏覽器可能不顯示
             auth_basic_user_file /etc/nginx/passwd;
                         #帳號密碼存放的的路徑
}

#表示"/status" 訪問這個url須要,輸入密碼
密碼文件生成
yum install httpd-tools.x86_64 -y #安裝http工具,生成密碼文件須要這個軟件
htpasswd -bc /etc/nginx/passwd cs1 123456# -c是生成密碼文件,添加兩個帳號,添加第二個不要加-c。
#在" /etc/nginx/"這個路徑生成一個"passwd"的文件,存放到一個帳號cs1 密碼123456測試

相關文章
相關標籤/搜索