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