Nginx 2 初學者使用

2022-01-15 19:48:42 字數 2307 閱讀 6844

原文

nginx有乙個master程序和幾個worker程序。master程序用來讀取和評估配置檔案,以及維護worker程序。worker程序用來處理實際的請求。nginx使用事件模型和基於作業系統的邏輯來實現高效的worker處理程序。worker程序的數量可以定義到配置檔案中,或者根據cpu核心數來自動調節。

預設配置檔案nginx.conf,預設位址nginx/conf

語法

nginx -s signal

signal可以是以下幾個:

demo:

nginx -s quit #優雅的停止。和啟動的使用者必須是同乙個。

nginx -s reload #改了配置檔案要重洗載入生效。

nginx收到reload訊號之後,master程序會檢查配置檔案,如果沒有過,回滾配置,繼續使用舊的配置檔案。如果過了,會先生成乙個新的worker程序,然後給老的worker程序傳送訊號。老的worker程序收到訊息會停止接收新的連線,但是會執行完已經存在的連線,最後退出。

unix系統的kill命令也可以用來傳送signal給nginx。假設nginx的master程序id是1628,使用下面格式

kill -quit 1628
ps用來看所有的nginx程序

ps -ax | grep nginx
nginx的模組(功能)通過配置檔案的指令來控制。指令分為簡單指令塊指令簡單指令由指令名和引數構成,中間用空格分隔,以分號結尾。塊指令由指令名後跟{}構成。

如果乙個指令塊可以包含其他指令,這個就是乙個context,比如eventshttpserverlocation

配置檔案最外層的指令叫main context。比如eventshttp

# 表示注釋。

簡單來說,乙個配置檔案要乙個http,包含乙個server,server包含乙個location就可以了。

通過server塊指令裡面listenserver_name指令來判斷具體的server。然後再根據裡面的location指令塊的引數來判斷。

先定義乙個http指令塊。

}server裡面放location

location /
請求匹配location的/位址,把後面的內容加到root指令引數"/data/www"後面,可以指向到實體地址。如果有多個匹配,nginx會選最長的。

比如再加乙個

location /images/
那麼images的匹配會到後面這個。

改完之後reload生效配置檔案。

nginx -s reload
設定兩個nginx例項。

第乙個

server 

}

所有8080的請求都會到/data/up1下面。

第二個

server 

}

通過正則(正規表示式必須以~和空格開頭)匹配gif等檔案,請求對映到/data/images目錄下,其他的通過proxy_pass指令**到localhost:8080下面。

nginx 可以把請求路由**到一些比如php寫的框架服務上。基本的用法是使用fastcgi_pass指令替換proxy_pass指令。然後用fastcgi_param來設定需要的**的引數。

舉個例子:

NGINX初學者指南

2.配置檔案的結構 3.提供靜態內容 4.設定簡單的 伺服器 5.設定fastcgi 參考文件 nginx有乙個主程序和幾個工作程序。主流程的主要目的是讀取和評估配置,以及維護工作流程。工作程序對請求進行實際處理。nginx採用基於事件的模型和依賴於作業系統的機制,在工作程序之間有效地分配請求。工作...

nginx 初學者指南

學習論壇 nginx 初學者指南nginx 初學者指南 配置檔案的結構 服務於靜態內容 設定簡單的 伺服器 設定fastcgi nginx有乙個主程序和幾個工作程序。主流程的主要目的是讀取和評估配置,以及維護工作流程。工作程序對請求進行實際處理。nginx使用基於事件的模型和依賴於作業系統的機制來有...

初學者mysql MySQL初學者使用指南

有很多朋友雖然安裝好了mysql但卻不知如何使用它。在這篇文章中我們就從連線mysql 修改密碼 增加使用者等方面來學習一些mysql的常用命令。一 連線mysql。1 例1 連線到本機上的mysql。首先在開啟dos視窗,然後進入目錄 mysqlbin,再鍵入命令mysql uroot p,回車後...