原文連接:http://bbs.linuxtone.org/thread-1685-1-1.html IT運維專家網--"自由平等,互助分享!" php
做者:NetSeek http://www.linux tone.org (IT運維專家網|集羣 架構 |性能 調優) 歡迎轉載,轉載時請務必以超連接形式標明文章原始出處和做者信息及本聲明. 首發時間: 2008-11-25 更新時間:2009-1-14 目 錄 1、 Nginx 基礎 知識 2、 Nginx 安裝及調試 3、 Nginx Rewrite 4、 Nginx Redirect 5、 Nginx 目錄自動加斜線: 6、 Nginx Location 7、 Nginx expires 8、 Nginx 防盜鏈 9、 Nginx 訪問 控制 10、 Nginx日誌 處理 11、 Nginx Cache 12、 Nginx負載 均衡 十3、 Nginx簡單優化 十4、 如何構建高性能的LEMP環境 十5、 Nginx服務 監控 十6、 常見問題與錯誤處理. 十7、 相關資源下載 【前言】: 編寫此技術 指南 在於推廣普及NGINX在國內的使用,更方便的幫助你們瞭解和掌握NGINX的一些使用技巧 。本指南不少技巧來自於網絡 和工做中或網絡上朋友們問個人問題.在此對網絡上願意分享的朋友們表示感謝和致意!歡迎你們和我一塊兒豐富本技術指南提出更好的建議!請朋友們關注: http://www.linuxtone.org 技術分享社區! 互想學習 共同進步! 1、 Nginx 基礎知識 一、簡介 Nginx ("engine x") 是一個高性能的 HTTP 和 反向代理 服務器 ,也是一個 IMAP/POP3/SMTP 代理服務器。 Nginx 是由 Igor Sysoev 爲俄羅斯訪問量第二的 Rambler.ru 站點開發 的,它已經在該站點運行 超過兩年半了。Igor 將源代碼以類BSD許可證的形式發佈。儘管仍是測試版,可是,Nginx 已經由於它的穩定性、豐富的功能 集、示例配置文件 和低系統 資源的消耗而聞名了。 更多的請見官方wiki: http://wiki.codemongers.com/ 二、 Nginx的優勢 nginx 作爲HTTP服務器,有如下幾項基本特性: 1) 處理靜態文件,索引文件以及自動索引;打開文件描述符緩衝. 2) 無緩存 的反向代理加速,簡單的負載均衡和容錯. 3) FastCGI,簡單的負載均衡和容錯. 4) 模塊 化的結構。包括gzipping, byte ranges, chunked responses, 以及 SSI-filter等filter。若是由FastCGI或其它代理服務器處理單頁中存在的多個SSI,則這項處理能夠並行運行,而不須要相互等待。 5) 支持SSL 和 TLS SNI . Nginx專爲性能優化而開發,性能是其最重要的考量, 實現上很是注重效率 。它支持內核 Poll模型,能經受高負載的考驗, 有報告代表能支持高達 50,000 個併發鏈接數。 Nginx具備很高的穩定性。其它HTTP服務器,當遇到訪問的峯值,或者有人惡意發起慢速鏈接時,也極可能會致使服務器物理內存 耗盡頻繁交換,失去響應,只能重啓服務器。例如當前apache一旦上到200個以上進程 ,web 響應速度就明顯很是緩慢了。而Nginx採起了分階段資源分配技術,使得它的CPU 與內存佔用率很是低。nginx官方表示保持10,000個沒有活動的鏈接,它只佔2.5M內存,因此相似DOS這樣的攻擊對nginx來講基本上是毫無用處的。就穩定性而言, nginx比lighthttpd更勝一籌。 Nginx支持熱部署。它的啓動特別容易, 而且幾乎能夠作到7*24不間斷運行,即便運行數個月也不須要從新啓動。你還可以在不間斷服務的狀況下,對軟件 版本進行進行升級。 Nginx採用master-slave模型, 可以充分利用SMP的優點,且可以減小工做進程在磁盤I/O的阻塞延遲。當採用select()/poll()調用時,還能夠限制每一個進程的鏈接數。 Nginx代碼質量很是高,代碼很規範, 手法成熟, 模塊擴展也很容易。特別值得一提的是強大的Upstream與Filter鏈。 Upstream爲諸如reverse proxy , 與其餘服務器通訊模塊的編寫奠基了很好的基礎。而Filter鏈最酷的部分就是各個filter沒必要等待前一個filter執行完畢。它能夠把前一個filter的輸出作爲當前filter的輸入,這有點像Unix的管線。這意味着,一個模塊能夠開始壓縮從後端服務器發送過來的請求,且能夠在模塊接收完後端服務器的整個請求以前把壓縮流轉向客戶端。 Nginx採用了一些os提供的最新特性如對sendfile (Linux 2.2+),accept-filter (FreeBSD 4.1+),TCP_DEFER_ACCEPT (Linux 2.4+) 的支持,從而大大提升了性能 2、 Nginx 安裝及調試 |
閱讀全文>>html