Nginx是一款輕量級的Web 服務(wù)器/反向代理服務(wù)器及電子郵件(IMAP/POP3)代理服務(wù)器,并在一個BSD-like 協(xié)議下發(fā)行。其特點(diǎn)是占有內(nèi)存少,并發(fā)能力強(qiáng),事實(shí)上nginx的并發(fā)能力確實(shí)在同類型的網(wǎng)頁服務(wù)器中表現(xiàn)較好,中國大陸使用nginx網(wǎng)站用戶有:百度、京東、新浪、網(wǎng)易、騰訊、淘寶等。 為什么要用Nginx?目前 Nginx 的主力競爭對手莫過于 Apache ,在這里小編對兩者做一個簡單的對比,幫助大家更好的理解 Nginx 的優(yōu)勢。 1、作為 Web 服務(wù)器: 相比 Apache,Nginx 使用更少的資源,支持更多的并發(fā)連接,體現(xiàn)更高的效率,這點(diǎn)使 Nginx 尤其受到虛擬主機(jī)提供商的歡迎。在高連接并發(fā)的情況下,Nginx是Apache服務(wù)器不錯的替代品: Nginx在美國是做虛擬主機(jī)生意的老板們經(jīng)常選擇的軟件平臺之一,能夠支持高達(dá) 50000 個并發(fā)連接數(shù)的響應(yīng), 感謝Nginx 為我們選擇了 epoll and kqueue 作為開發(fā)模型。 Nginx作為負(fù)載均衡服務(wù)器: Nginx 既可以在內(nèi)部直接支持 Rails 和 PHP 程序?qū)ν膺M(jìn)行服務(wù), 也可以支持作為 HTTP代理 服務(wù)器對外進(jìn)行服務(wù)。Nginx采用C進(jìn)行編寫, 不論是系統(tǒng)資源開銷還是CPU使用效率都比 Perlbal 要好很多。 2、Nginx 配置簡潔, Apache 復(fù)雜: Nginx 啟動特別容易, 并且?guī)缀蹩梢宰龅?*24不間斷運(yùn)行,即使運(yùn)行數(shù)個月也不需要重新啟動. 你還能夠不間斷服務(wù)的情況下進(jìn)行軟件版本的升級。 Nginx 靜態(tài)處理性能比 Apache 高 3倍以上,Apache 對 PHP 支持比較簡單,Nginx 需要配合其他后端來使用 ,Apache 的組件比 Nginx 多。 3、最核心的區(qū)別在于: apache是同步多進(jìn)程模型,一個連接對應(yīng)一個進(jìn)程;nginx是異步的,多個連接(萬級別)可以對應(yīng)一個進(jìn)程 。 4、兩者的擅長領(lǐng)域分別是: nginx的優(yōu)勢是處理靜態(tài)請求,cpu內(nèi)存使用率低,apache適合處理動態(tài)請求,所以現(xiàn)在一般前端用nginx作為反向代理抗住壓力,apache作為后端處理動態(tài)請求。 Nginx 基本使用方法系統(tǒng)平臺:CentOS release 6.6 (Final) 64位。 一、安裝編譯工具及庫文件二、首先要安裝 PCRE1、PCRE 作用是讓 Nginx 支持 Rewrite 功能。下載 PCRE 安裝包,下載地址:http://downloads./project/pcre/pcre/8.35/pcre-8.35.tar.gz 2、解壓安裝包: 3、進(jìn)入安裝包目錄 4、編譯安裝 5、查看pcre版本 三、安裝 Nginx1、下載 Nginx,下載地址:http:///download/nginx-1.6.2.tar.gz 2、解壓安裝包 3、進(jìn)入安裝包目錄 4、編譯安裝 5、查看nginx版本 到此,nginx安裝完成。 四、Nginx 配置創(chuàng)建 Nginx 運(yùn)行使用的用戶 www: 配置nginx.conf ,將/usr/local/webserver/nginx/conf/nginx.conf替換為以下內(nèi)容 點(diǎn)擊查看大圖 檢查配置文件ngnix.conf的正確性命令: 五、啟動 NginxNginx 啟動命令如下: 六、訪問站點(diǎn)從瀏覽器訪問我們配置的站點(diǎn)ip: Nginx 常用指令說明1. main 全局配置nginx在運(yùn)行時與具體業(yè)務(wù)功能(比如http服務(wù)或者email服務(wù)代理)無關(guān)的一些參數(shù),比如工作進(jìn)程數(shù),運(yùn)行的身份等。
2. http服務(wù)器與提供http服務(wù)相關(guān)的一些配置參數(shù)。例如:是否使用keepalive啊,是否使用gzip進(jìn)行壓縮等。
模塊http_proxy: 這個模塊實(shí)現(xiàn)的是nginx作為反向代理服務(wù)器的功能,包括緩存功能(另見文章)
proxy_pass,proxy_redirect見 location 部分。 模塊http_gzip:
3. server虛擬主機(jī)http服務(wù)上支持若干虛擬主機(jī)。每個虛擬主機(jī)一個對應(yīng)的server配置項(xiàng),配置項(xiàng)里面包含該虛擬主機(jī)相關(guān)的配置。在提供mail服務(wù)的代理時,也可以建立若干server。每個server通過監(jiān)聽地址或端口來區(qū)分。
模塊http_stream 這個模塊通過一個簡單的調(diào)度算法來實(shí)現(xiàn)客戶端IP到后端服務(wù)器的負(fù)載均衡,upstream后接負(fù)載均衡器的名字,后端realserver以 host:port options; 方式組織在 {} 中。如果后端被代理的只有一臺,也可以直接寫在 proxy_pass 。 4. locationhttp服務(wù)中,某些特定的URL對應(yīng)的一系列配置項(xiàng)。
關(guān)于location匹配規(guī)則的寫法,可以說尤為關(guān)鍵且基礎(chǔ)的,參考文章 nginx配置location總結(jié)及rewrite規(guī)則寫法; 5. 其它5.1 訪問控制 allow/denyNginx 的訪問控制模塊默認(rèn)就會安裝,而且寫法也非常簡單,可以分別有多個allow,deny,允許或禁止某個ip或ip段訪問,依次滿足任何一個規(guī)則就停止往下匹配。如: 我們也常用 httpd-devel 工具的 htpasswd 來為訪問的路徑設(shè)置登錄密碼: 這樣就生成了默認(rèn)使用CRYPT加密的密碼文件。打開上面nginx-status的兩行注釋,重啟nginx生效。 5.2 列出目錄 autoindexNginx默認(rèn)是不允許列出整個目錄的。如需此功能,打開nginx.conf文件,在location,server 或 http段中加入autoindex on;,另外兩個參數(shù)最好也加上去:
●編號836,輸入編號直達(dá)本文 ●輸入m獲取文章目錄 |
|