Nginx 介紹及日常管理的詳解
這篇文章主要介紹了Nginx 介紹及日常管理的詳解的相關資料,希望透過本文能幫助到大家,需要的朋友可以參考下
Nginx 介紹及日常管理的詳解
Nginx(發音同 engine x)是一款輕量級的Web 伺服器/反向代理伺服器及電子郵件(IMAP/POP3)代理伺服器,並在一個BSD-like 協議下發行。其特點是佔有記憶體少,併發能力強,事實上nginx的併發能力確實在同型別的網頁伺服器中表現較好.中國大陸使用nginx網站使用者有:新浪、網易、 騰訊等。本文簡要描述了Nginx的基本特性及其配置檔案的簡單描述。
一、Nginx的工作程式
1、一個主程式: 主程式的主要目的是讀取和評估配置,啟動、終止及維護工作程式以及建立、繫結及關閉套接字。 2、多個工作程式: 工作程式處理web請求。nginx的採用了基於事件的模型和作業系統相關的機制,有效地分配工作程式之間的請求。 負責解析http協議;提供反向代理及過濾功能;nginx任何能完成的其它任務; 工作程式的數量被定義在配置檔案中,可以使用配置檔案定義固定的數量,或根據可用的CPU核心數實現自動調整其數量。3、快取載入器(cache loader): 檢查快取儲存中的快取物件; 使用快取後設資料建立記憶體資料庫; 接收、傳入並處理來自客戶端的連線;4、快取管理器(cache manager): 快取的失效及過期檢驗;5、基於配置檔案定義Nginx的工作方式 nginx的工作方式及其模組的工作是在配置檔案中確定的。 預設情況下,其配置檔案為nginx.conf,通常位於/usr/local/nginx/conf, /etc/nginx, 或者/usr/local/etc/nginx目錄下。
二、Nginx特性
1、Nginx的模組化特性 Nginx伺服器與Apache httpd類似,採用了基於模組化的構建方式。 在安裝部署Nginx伺服器時,一定要遵循:最小化模組安裝,以節省無用模組對Nginx的效能影響及佔用系統資源。 a、從功能上劃分 Nginx核心模組:包括Nginx的核心模組和事件驅動模組 http伺服器模組:這類模組包括三類模組,即HTTP的核心模組和標準模組以及可選的HTTP模組 b、從釋出模組的方式來劃分 官方模組 第三方模組 c、從模組的可選項來劃分 必選模組(Main和Events) 可選模組2、Nginx功能特性 模組化設計、較好擴充套件性 高可靠性 master–>worker 低記憶體消耗 10000個keep-alive連線在Nginx僅消耗2.5MB 支援熱部署 不停機而更新配置檔案、更換日誌檔案、更新伺服器程式版本 基本功能: 靜態資源的web伺服器,能快取開啟的檔案描述符; http, smtp, pop3協議的反向代理伺服器,快取、負載均衡; 支援FastCGI (fpm); 模組化,非DSO機制,過濾器zip,SSI及影像大小調整; 支援SSL; 非阻塞、事件驅動、一個master生成一個或多個worker, 每個worker響應n個請求; 擴充套件功能: 基於名稱和IP的虛擬主機; 支援keepalive 支援平滑升級 定製訪問日誌 ,支援使用日誌緩衝區提高日誌儲存效能 支援url rewrite 支援路徑別名 支援基於IP及使用者的訪問控制 支援速率限制,支援併發數限制 Nginx的基本架構: 一個master程式,生成一個或多個worker 事件驅動: epoll, kqueue, /dev/poll (event ports) 訊息通知:select, poll, rt signals 支援sendfile, sendfile64 支援AIO 支援mmap 模組型別: 核心模組 Standard HTTP modules Optional HTTP modules Mail modules 3rd party modules
三、Nginx的啟動、停止、配置檔案重新裝載
1、啟動 直接使用命令啟動,示例,-c後面跟上配置檔案路徑及名字,如果忽略-c,則使用預設的配置檔案 # /usr/sbin/nginx -c /etc/nginx/nginx.conf 使用服務方式啟動,示例如下 # service nginx start2、啟動後的常用管理語法 nginx -s signal 其中signal可以為下列值 stop — fast shutdown quit — graceful shutdown reload — reloading the configuration file reopen — reopening the log files3、nginx的停止 stop — 快速停止,粗暴模式,不再接受新請求,已經處理的請求被強制關閉,示例如下 # /usr/sbin/nginx -s stop quit — 優雅停止,不再接受新請求,等待當前的工作程式完成當前的伺服器請求,並停止nginx # /usr/sbin/nginx -s quit 透過服務方式關閉nginx # service nginx stop4、配置檔案重新裝載 reload — 重新載入配置檔案 nginx配置檔案的任意變更,不會被立即生效,需要使用過載命令或重啟nginx 一旦主程式接收到重新載入配置的訊號,它檢查新的配置檔案的語法正確性,並嘗試應用新的配置。 否則,主程式回滾所做的更改,並繼續使用舊的配置檔案工作。 舊的工作程式,接收命令關閉, 停止接受新的連線,並繼續服務於當前的請求,直至當前請求服務完畢後,舊的工作程式退出 程式訊號可以被髮送到nginx,透過Linux/Unix的 kill工具來殺死程式。 在這種情況下的帶有程式ID的訊號被直接傳送到一個程式。 預設情況下,nginx的主程式PID被寫入到位於/usr/local/logs或者/var/run目錄的nginx.pid檔案。 例如,如果主程式ID是1628,傳送nginx正常關機的退出訊號,則執行: kill -s QUIT 1628 透過服務方式過載配置檔案 # service nginx reload
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69911024/viewspace-2637609/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Docker介紹及安裝詳解Docker
- Nginx服務詳細介紹Nginx
- Nginx的介紹及安裝過程Nginx
- Cookie介紹及JavaScript操作Cookie方法詳解CookieJavaScript
- nginx介紹Nginx
- 簡單介紹nginx反向代理及使用Nginx
- JavaScript FormData的詳細介紹及使用JavaScriptORM
- rqt的安裝及詳細介紹QT
- C 語言中 void* 詳解及應用介紹
- 接入層Nginx架構及模組介紹分享Nginx架構
- 介紹下NginxNginx
- LVM詳細介紹及建立LVM
- Nginx安裝及配置詳解Nginx
- javassist庫介紹__API詳解JavaAPI
- Nginx 入門介紹Nginx
- Nginx 相關介紹Nginx
- Dart語言詳解(一)——詳細介紹Dart
- Android 使用AsyncTask非同步的介紹及多例項並行方案詳解Android非同步並行
- hadoop實戰3(web管理介面介紹及NN,DN,SNN介紹)HadoopWeb
- 二分法查詢介紹及例項詳解
- nGrinder詳細介紹及效能工具對比
- Nginx 的 TCP 負載均衡介紹NginxTCP負載
- Nginx 安裝配置介紹Nginx
- 介紹Nginx配置支援PHPNginxPHP
- Nginx主程式使用介紹Nginx
- 機器學習模型可解釋性的詳盡介紹機器學習模型
- nginx的gzip指令介紹,Nginx的gzip指令使用小結Nginx
- 詳解javascript拖拽(一)基礎介紹JavaScript
- nginx的location詳解Nginx
- secrets 管理工具 Vault 的介紹、安裝及使用
- nginx 詳解Nginx
- Nginx詳解Nginx
- 2 Day DBA-介紹-日常Oracle DBA的任務Oracle
- 儲存管理(一):openfiler介紹及儲存理解
- nginx快取使用詳解,nginx快取使用及配置步驟Nginx快取
- 雲端計算日常運用場景介紹!
- Nginx 教程:基本概念介紹Nginx
- nginx介紹(二) 架構篇Nginx架構