Nginx入門篇(一)之Nginx介紹

一、簡介

Nginx ("engine x") 是一個高性能的 HTTP 和反向代理服務器,也是一個 IMAP/POP3/SMTP 服務器。 Nginx 是由 Igor Sysoev 爲俄羅斯訪問量第二的 Rambler.ru 站點開發, 因它的穩定性、豐富的功能集、示例配置文件和 低系統資源的消耗而聞名。 Nginx 是一款輕量級的 Web 服務器/反向代理服務器及電子郵件(IMAP/POP3)代理服務器,並在一個 BSD-like 協議下發行。特色是佔有內存少, 併發能力強,事實上 nginx 的併發能力確實在同類型的網頁服務器中表現較好, 國 內使用 nginx 網站用戶有:百度、 京東、 新浪、 網易、 騰訊、 淘寶等。

二、 功能

(1) web 服務(http)
(2)負載均衡(反向代理 proxy)
(3) web 緩存(web cache)

三、 優勢

(1)高併發(靜態小文件)。靜態併發 1-2 萬
(2)佔用資源少。 2 萬併發,開 10 個線程服務,內存消耗才幾百 M
(3)功能種類比較多(web、 cache、 proxy)。但每一個功能都不是特別強 (4) 支持 epoll 模型,使得 nginx 能夠支持高併發 (5) nginx 配合動態服務和 apache 有區別 (6)利用 nginx 能夠對 IP 限速,也能夠限制鏈接數 (7)配置簡單、靈活

四、 LNMP 實現原理和架構(Linux Nginx MySQL PHP)

1) LAMP 實現: 用戶請求-->Apache(:80) -->php 模塊(libphp5.so) -->mysql (2) LNMP 實現: 用戶請求-->Nginx(:80) -->php 服務(FCGI :9000 ) -->mysql 當訪問 php 頁面時, Nginx 經過配置文件是指定的 php 解析器,用 fastcgi_passu 將請求以 http ip:9000 的形式拋給 FCGI 解析.

五、 Nginx 的應用場合

(1)靜態服務器
主要是圖片、視頻等服務,文件後綴名主要是.html、 .js、 css、 flv 等。另外一個經常使用工具是 lighttpd(百度貼 吧在用)。併發通常是 1-3 萬 (2)動態服務 主要是 nginx+FaseCGI的方式運行 php、jsp等程序。併發通常在 500-1500.主要的瓶頸是在 FaseCG和 MySQL。 FaseCGI 的併發通常在 500-1500, MySQL 的併發通常是 300-1500。 至關於 Apache+php 或 lighttpd+FCGI php (3)反向代理(負載均衡) 日 PV 在 2000 萬如下的,均可以直接用 Nginx 作代理。競爭對手是 haproxy(軟件)、 F5(硬件)、 A10(硬件)。 (4)緩存服務 至關於 Squid 或 Varnish

六、 主流 WEB 服務產品對比

(1) Apache a、 2.2 版本很是穩定強大,據官方說 2.4 版本性能超強。 b、 Prefork 模式取消了進程建立開銷,性能很高。 c、 處理動態業務數據時,因關聯到後端的引擎和數據庫,瓶頸不在於 Apache 自己。 d、 基於傳統的 select 模型,高併發時消耗系統的資源相對多一些。 e、擴展庫採用 DSO 方法。如經過 apxs 安裝 php 模塊 h、功能多、插件多、更穩定、更安全 (2) Nginx a、 基於異步 IO 模型(epoll、 kqueue),性能強,能支持上萬併發。 b、 對於小文件支持很好,性能很高(限靜態小文件 1M)。 c、 代碼優美,擴展庫必須編譯進主程序。 d、 系統的資源比較低。
相關文章
相關標籤/搜索