Nginx配置詳解

2021-09-17 01:25:09 字數 2653 閱讀 9827

fastcgi

引數詳解

名詞解釋

常用命令 常見錯誤

nginx配置檔案中分了五塊區域

分別是全域性塊、events塊、http塊、server全域性塊、location塊

布局如下圖:

此部分配置會影響nginx全域性

配置使用者名稱

啟動的程序數

錯誤日誌存放路徑

pid檔案存放路徑

主要影響nginx伺服器與使用者的網路連線

設定工作模式

單程序最大併發鏈結數

網路連線序列化

設定乙個程序能否同時接受多個網路連線

進行http的相關引數配置

引入配置檔案

服務日誌

允許sendfile方式傳輸檔案

設定單連線請求上限

乙個虛擬主機,需要配置網域名稱、埠,只處理對應主機網域名稱的http請求,可同時包含多個location塊

監聽的埠或ip位址加埠等

主機名稱 基於主機名或ip的虛擬主機配置,用於與http請求header頭的host匹配

http請求對應的路徑設定

location配置

**預設頁配置

更改location的uri

cgi全稱是「通用閘道器介面」(common gateway inte***ce),http伺服器與你的或其它機器上的程式進行「交談」的一種工具,其程式一般執行在網路伺服器上。 cgi可以用任何一種語言編寫,只要這種語言具有標準輸入、輸出和環境變數。如php,perl,tcl等。

fastcgi是從cgi發展改進而來的。傳統cgi介面方式的主要缺點是效能很差,因為每次http伺服器遇到動態程式時都需要重新啟動指令碼解析器來執行解析,然後結果被返回給http伺服器。這在處理高併發訪問時,幾乎是不可用的。另外傳統的cgi介面方式安全性也很差,現在已經很少被使用了。

fastcgi介面方式採用c/s結構,可以將http伺服器和指令碼解析伺服器分開,同時在指令碼解析伺服器上啟動乙個或者多個指令碼解析守護程序。當http伺服器每次遇到動態程式時,可以將其直接交付給fastcgi程序來執行,然後將得到的結果返回給瀏覽器。這種方式可以讓http伺服器專一地處理靜態請求或者將動態指令碼伺服器的結果返回給客戶端,這在很大程度上提高了整個應用系統的效能。

nginx配置:

//全域性塊

user www-data; //使用者

worker_processes 1 //啟動程序數 最好與cpu數量相等

error_log logs/error.log //錯誤日誌存放 可以放在全域性塊、http塊、server塊

pid run/nginx.pid //nginx是系統的守護程序,需要在某檔案中儲存當前程式的主程序號,nginx支援該儲存檔案路徑的自定義,若不指定,預設路徑為logs/nginx.pid

//events塊 主要影響nginx伺服器與使用者的網路連線

設定工作模式

server //try_files 判斷請求是否為靜態資源(實際存在的資源),是則返回檔案,否則將請求**到index.php,並帶上query_string

所以很多框架都會有個入口index.php,就是nginx從這裡將請求**到了index.php中

location [ = | ~ | ~* | ^~ ] uri // 『=』表示請求字串與uri嚴格匹配,一旦匹配成功則停止;』~』用於正則uri前,區分大小寫;』~*』用於正則uri前,不區分大小寫;』^~』用於標準uri前,要求nginx找到標識uri和請求字串匹配度最高的location後,立即使用此location處理請求,而不再使用location塊中的正則uri和請求字串做匹配

//nginx url重寫功能

location /phalcon_test/

**到index.php後,進入 ~ \.php

location ~ \.php$

location ~* ^/(css|img|js|flv|swf|download)/(.+)$

}

配置檔案mime-types:包含了各種瀏覽器能識別的mime型別以及對應型別的檔案字尾名

yii2.0 需要重寫路由:

location /
驚群現象指的是乙個請求過來將多個睡眠的程序被叫醒,但只有乙個程序能獲得鏈結,影響了效能。

殺死程序:

ps -ef|grep nginx

kill -9 pid

錯誤:nginx: [error] open() 「/run/nginx.pid」 failed (2: no such file or directory)解決方法:關閉nginx程序,生成乙個新的nginx.pid檔案

nginx -c /etc/nginx/nginx.conf

nginx -s reload

Nginx配置詳解

nginx的主要配置檔案是nginx.conf,位於安裝目錄下的nginx conf資料夾裡,主要的配置引數如下 定義nginx執行的使用者和使用者組 user nobody nobody nginx程序數,建議設定為等於cpu總核心數。worker processes 8 全域性錯誤日誌定義型別,...

nginx配置詳解

定義nginx執行的使用者和使用者組 user www www nginx程序數,建議設定為等於cpu總核心數。worker processes 8 全域性錯誤日誌定義型別,debug info notice warn error crit error log var log nginx error...

NGINX配置詳解

nginx 配置檔案 user nginx 使用者worker processes 8 工作程序,根據硬體調整,大於等於cpu核數 error log logs nginx error.log crit 錯誤日誌 pid logs nginx.pid pid放置的位置 worker rlimit n...