nignx 基本模塊

1.nginx 常用命令

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

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連接,但是也不能讓它永久的連接,這樣會把服務器的端口端口撐滿的,所以還有個超時時間,在超過這個時間沒有新的請求就斷開。

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章