nginx的詳細使用說明(上)

 時下在大型的網絡站點上,大部分都是採用LNMP部署的結構。這裏主要理清下Nginx的部署,對nginx的使用作一個小結(另外倆個小結一個是安裝小結,還有一個部署小結)。 html

  1. 首先登陸服務器查看nginx是否安裝(雖然很弱智,可是查看用的是何種web服務器工做仍是很是有必要的) mysql

   which   nginx    nginx

 

   (告訴你該命令在哪裏,若是沒有安裝,系統會提示你沒有該命令ng nginx之類的) web

2.確認nginx的默認目錄(新手用Linux的時候,最苦惱的是找到對應的安裝目錄) sql

輸入whereis nginx   bash

 

除掉執行目錄  剩下的那個就是安裝目錄。(通常默認執行目錄都在usr/bin/nginx下,而對應的安裝會在/usr/local/nginx下) 服務器

若是安裝的時候還須要一些拓展庫之類的,會放到libinclude目錄下,例如mysql服務 網絡


 

3.切換進入對應的nginx目錄後,能夠看到以下列表(這是LNMP一鍵安裝的默認目錄,對於大部分部署而言,這種默認目錄也是很是常見的) 性能

 

 


 

通常經常使用的三個目錄  spa

 conf(nginx的核心配置目錄)

 html(訪問nginx成功或者錯誤文件會存放在這裏

logs(訪問nginx的錯誤日誌還有一個nginxpid文件,nginx異常的時候,首先查看的是這個地方,檢測nginx的異常很是有幫助)

4.進入nginx的核心配置模塊(對於通常的開發而言,進入conf模塊是最經常使用的功能,配置站點,特別是配置比較多的時候,須要常常出入該地方),因爲我用的是一鍵安裝LNMP,默認狀況下已經給配置了N多經常使用的開源系統的重寫配置,看上去比較雜,關於nginx的重寫是一個比較複雜的問題,另外會有博客進行總結。

 


 

 

配置nginx最核心的文件nginx.conf(修正一些性能經常使用的核心文件),將其顯示出來進行分析。

5.下面進行逐行解析:

定義nginx的用戶和用戶組。

查看用戶能夠用cat /etc/passwd進行查看


 

表示含義:www用戶密碼 保存在/etc/shadow,系統的用戶id是1000組別gid是1000,

用戶擁有的目錄:/home/www(這是不少程序默認放到/home/www目錄下執行的緣由,在其餘目錄下,須要更改權限,不然直接報錯沒法運行,這是不少配置好了nginx沒法運行的問題緣由) 

能夠運行的命令 /bin/bash

常見的403錯誤 常常會由於沒有目錄執行權限出現該問題

6.nginx的進程數,通常建議等於CPU的核數(自動進程裏通常和CPU內核是相等的,這樣能夠最大限度的利用CPU功效)

 

查看當前nginx的進程  ps -ef | grep nginx

 

 

7.錯誤日誌(該錯誤日誌是默認站點的錯誤日誌,在配置裏是能夠進行改動的)

 

8.進程文件。每一個請求都會交給一個進程進行處理(nginx啓動的時候會啓動多個進程,發送請求的時候,須要知道是哪一個進程,把pid寫進文件進行識別是一個比較簡單的作法)

 

9.最大的文件打開數(服務器打開文件是有個上限的,若是不限定打開的文件,該上限會是系統的打開文件上限)

 

10.nginx的事件(如今服務器性能通常都比較高,會選擇epoll

#參考事件模型,use [ kqueue | rtsig | epoll | /dev/poll | select | poll ]; epoll模型是Linux 2.6以上版本內核中的高性能網絡I/O模型,若是跑在FreeBSD上面,就用kqueue模型。

#單個進程最大鏈接數(最大鏈接數=鏈接數*進程數)

worker_connections 65535;

 

Multi_accept on 

#(默認狀況是關閉的,multi_acceptNginx接到一個新鏈接通知後調用accept()來接受盡可能多的鏈接,不然會須要不停的開啓鏈接來接受同一個站點的請求,能夠節省大量不一樣訪問帶來的開銷 )

相關文章
相關標籤/搜索