nginx優點:
1.高併發,官方說支持5w併發連接數
2.內存消耗少(相比apache)
3.善於處理靜態文件
4.支持多系統:Nginx代碼完全用C語言從頭寫成,可以在各系統上編譯並使用。
5.負載均衡功能很強大
nginx配置文件結構:
全局配置段
http配置段
server配置段(項目或應用)
location配置段(url配置)
1.全局配置段
* user 設置使用用戶(worker)
* worker_processes 進行增大併發連接數的處理 跟 cpu 保持一致 八核設置八個
* error_log nginx 的錯誤日誌
* pid nginx 服務啓動時候 pid
* events 定義事件相關的屬性
* worker_connections 一個進程允許處理的最大連接數
* use 定義使用的內核模型
2.http配置段
* sendfile on; # 開啓高效文件傳輸模式。
* autoindex on; # 開啓目錄列表訪問,合適下載服務器,默認關閉。
* tcp_nopush on; # 防止網絡阻塞
* tcp_nodelay on; # 防止網絡阻塞
* keepalive_timeout 120; # 長連接超時時間,單位是秒
* gzip on; # 開啓 gzip 壓縮輸出 *
3.server配置段
listen屬性 端口
server_name屬性 域名 (優先使用完整樣式www.example.com,然後使用前綴正則樣式 *.example.com,最後使用後綴正則樣式www.example.*)
root屬性 表現形式: root /var/www/html;定義Server請求的html文件所在路徑
index屬性 表現形式: index index.html index.htm index.nginx-debian.html 定義響應後返回的文件名稱或格式
4.location配置段
前提:根據請求url,獲取uri(即除了域名/IP之外的部分),用於location匹配
匹配優先級:精確匹配 > 優先級匹配 > 正則匹配 (精確匹配和優先級匹配只要匹配到就結束匹配,而正則匹配會匹配到所有符合條件的,然後選取最長的那個)
5.alias和root的區別(兩者的作用都是指向響應請求所用文件的路徑)
root 表示location匹配內容的相對路徑
alias 表示絕對路徑
例如:
location /img/ {
alias(root) /var/www/image/
}
如果是alias:訪問http://localhost/img/,nginx找/var/www/image/目錄下的文件
如果是root: 訪問http://localhost/img/,nginx找/var/www/image/img/目錄下的文件