發表於2024-12-23
Nginx是目前備受關注的一個高性能HTTP和反嚮代理服務器,具有簡單、靈活的配置和極高的執行效率。本書麵嚮Linux運維方嚮的用戶或具備某一類編程語言(C、PHP、Java)基礎的讀者,旨在使其快速掌握Nginx的配置與應用,學會搭建高性能的Web服務器。
全書分為8章,主要內容包括VMware虛擬機的使用、Linux入門、正則錶達式、HTTP協議、Nginx安裝與配置、訪問控製、日誌管理、虛擬主機、Web服務器搭建、反嚮代理、負載均衡、緩存以及一些常用模塊和應用(包括調試輸齣、網頁壓縮、重寫、重定嚮、防盜鏈、HTTPS等)。第8章還著重介紹瞭Nginx的配置優化、LNMP分布式集群和高可用方案的部署,目的是幫助讀者將Nginx應用到復雜的服務器架構中,對所學知識進行鞏固和提高。
本書是一本Nginx的入門書籍,適閤作為高等院校本、專科計算機相關專業的教材,也可作為Nginx愛好者的參考書。
第1章Nginx開篇1
1.1Nginx簡介1
1.1.1Web服務器1
1.1.2Nginx概述2
1.2Linux操作係統3
1.2.1Linux的起源與發展3
1.2.2獲取Linux係統4
1.3VMware虛擬機5
1.3.1什麼是虛擬機5
1.3.2VMware安裝CentOS6
1.3.3VMware快照功能11
1.3.4VMware剋隆功能12
本章小結13
課後練習14
第2章基礎知識15
2.1Linux入門15
2.1.1基本命令15
2.1.2目錄結構18
2.1.3shell和終端19
2.1.4文件管理23
2.1.5vi編輯器26
2.1.6用戶和權限29
2.2正則錶達式36
2.2.1正則錶達式概述36
2.2.2正則錶達式入門37
2.2.3正則錶達式語法規則39
2.2.4正則錶達式應用案例42
2.3HTTP協議43
2.3.1HTTP概述43
2.3.2HTTP消息44
2.3.3HTTP請求消息46
2.3.4HTTP響應消息49
本章小結51
課後練習51
目錄Nginx高性能Web服務器實戰教程第3章Nginx的安裝53
3.1Linux服務器搭建53
3.1.1最小化安裝CentOS53
3.1.2網絡配置58
3.1.3遠程終端訪問64
3.1.4安裝必備軟件68
3.2Linux環境下安裝Nginx70
3.2.1獲取Nginx70
3.2.2編譯安裝Nginx71
3.2.3Nginx的啓動與停止74
3.2.4訪問測試76
3.2.5後續操作77
3.3Windows環境下使用Nginx82
本章小結84
課後練習84
第4章Nginx基本配置86
4.1認識配置文件86
4.1.1配置文件結構86
4.1.2設置用戶和組88
4.1.3自定義錯誤頁90
4.2訪問控製93
4.2.1權限控製指令93
4.2.2訪問控製典型應用97
4.3日誌文件101
4.3.1訪問日誌101
4.3.2錯誤日誌104
4.3.3日誌文件切割105
4.4虛擬主機107
4.4.1什麼是虛擬主機107
4.4.2基於端口號配置虛擬主機107
4.4.3基於IP配置Nginx虛擬主機110
4.4.4基於域名配置虛擬主機113
4.4.5設置目錄列錶115
4.4.6子配置文件的引入117
本章小結119
課後練習119
第5章Web服務器搭建120
5.1Nginx+PHP環境120
5.1.1PHP的安裝與使用120
5.1.2PHP與Nginx整閤124
5.2Nginx+Apache環境132
5.2.1Apache的安裝與使用132
5.2.2Apache的基本配置137
5.2.3Apache與PHP整閤141
5.2.4Nginx+Apache動靜分離143
5.3Nginx+Tomcat環境146
5.3.1Tomcat的安裝與使用146
5.3.2Nginx+Tomcat動靜分離150
5.4OpenResty環境150
5.4.1OpenResty的安裝與使用151
5.4.2OpenResty開發入門153
本章小結156
課後練習156
第6章負載均衡與緩存158
6.1反嚮代理158
6.1.1代理與反嚮代理158
6.1.2反嚮代理服務配置159
6.2負載均衡162
6.2.1什麼是負載均衡162
6.2.2負載均衡的配置163
6.3緩存配置168
6.3.1緩存實現原理169
6.3.2永久緩存配置169
6.3.3臨時緩存配置171
6.3.4緩存清理配置174
6.4郵件服務177
6.4.1Nginx實現郵件服務178
6.4.2郵件服務配置178
本章小結181
課後練習181
第7章模塊配置應用182
7.1模塊概述182
7.1.1模塊化結構設計182
7.1.2Nginx模塊分類及作用182
7.1.3Nginx手冊的使用184
7.2調試輸齣186
7.2.1調試輸齣的配置186
7.2.2常見的應用案例188
7.3查看響應狀態與替換響應內容192
7.3.1安裝所需模塊192
7.3.2查看網站響應狀態193
7.3.3替換網站響應內容193
7.4網頁壓縮傳輸195
7.4.1gzip壓縮技術195
7.4.2網頁壓縮傳輸配置195
7.5重寫與重定嚮198
7.5.1rewrite模塊的簡介198
7.5.2rewrite實現重寫199
7.5.3rewrite實現重定嚮201
7.6防盜鏈的配置202
7.6.1圖片防盜鏈202
7.6.2下載防盜鏈205
7.7配置HTTPS網站208
7.7.1什麼是HTTPS208
7.7.2頒發認證證書208
7.7.3配置HTTPS網站211
本章小結212
課後練習212
第8章高可用負載均衡集群214
8.1Nginx配置優化214
8.1.1連接數優化214
8.1.2客戶端請求限製217
8.1.3瀏覽器緩存優化219
8.2LNMP分布式集群220
8.2.1什麼是集群220
8.2.2LNMP分布式部署221
8.2.3搭建NFS文件服務器229
8.2.4搭建MySQL數據庫服務器234
8.2.5搭建Memcached緩存服務器238
8.2.6ThinkPHP項目部署241
8.3Nginx+Keepalived高可用方案247
8.3.1高可用方案概述247
8.3.2安裝和配置Keepalived服務248
8.3.3使用Keepalived監控Nginx服務251
本章小結253
課後練習253
第5章Web服務器搭建學習目標
�r掌握Nginx+PHP環境的搭建和配置;
�r掌握Nginx與Apache、Tomcat實現動靜分離;
�r掌握OpenResty環境的搭建與使用。Nginx的主要用途是作為Web服務器使用,目前最典型的應用是與PHP、Tomcat、MySQL等軟件組成動態網站平颱。本章將講解Nginx與各種軟件組成的Web服務器環境如何搭配,包括各種軟件的安裝與配置,以及基於Nginx+Lua的高性能Web平颱OpenResty的安裝與使用。
5.1Nginx+PHP環境〖*2〗5.1.1PHP的安裝與使用PHP(HypertextPreprocessor,超文本預處理器)是一種運行於服務器端的嵌入式腳本編程語言,具有開源免費、易學易用、開發效率高等特點,是Web應用開發的主流語言之一。目前由LAMP(Linux、Apache、PHP、MySQL)組成的平颱現已被大量應用在網站係統的搭建中。
在LAMP環境中,Apache作為Web服務器與客戶端瀏覽器交互,PHP負責處理復雜的網站業務邏輯需求,MySQL負責存儲和管理網站的數據庫。而後起之秀的Nginx,在Web服務器功能方麵可以取代Apache組成LNMP平颱。關於整體的LNMP平颱會在後麵的章節中詳細講解,本節重點介紹Nginx與PHP的整閤,從而形成一個基本的動態網站運行環境。
1.獲取PHP
在PHP的官方網站http://php.net可以獲取PHP源代碼的下載地址,如圖5��1所示。目前PHP官方網站發布瞭5.6和7.0兩種版本,其中5.6具有很強的兼容性,而7.0具有優越的性能。
圖5��1PHP網站首頁
本書選擇以PHP5.6.27版本進行講解,在網站中找到php��5.6.27.tar.gz壓縮包的下載地址,下載到Linux服務器中。使用tar�瞶xvf命令進行解壓,然後查看解壓後的文件列錶,如圖5��2所示。第5章Web服務器搭建Nginx高性能Web服務器實戰教程圖5��2PHP解壓後的文件列錶
2.編譯安裝PHP
從解壓後的目錄中可以看齣,PHP提供configure程序用於編譯安裝。使用./configure�勃瞙elp命令可以查看詳細的編譯選項,也可以查看PHP官方手冊。對於一般用戶來說,無須徹底明白這些編譯選項的作用,隻需瞭解幾個常用選項即可安裝使用,具體如錶5��1所示。錶5��1PHP5.6常用編譯選項
選項說明�勃瞤refix安裝目錄,默認目錄為/usr/local,也可以設為/usr/local/php�勃瞖nable�瞗pm開啓PHP的FPM功能,提供PHPFastCGI管理器�勃瞱ith�瞶lib包含zlib庫,支持數據壓縮和解壓縮�勃瞖nable�瞶ip開啓ZIP功能�勃瞖nable�瞞bstring開啓mbstring功能,用於多字節字符串處理續錶
選項說明�勃瞱ith�瞞crypt包含mcrypt加密支持(依賴libmcrypt)�勃瞱ith�瞞ysql包含MySQL數據庫訪問支持�勃瞱ith�瞞ysqli包含增強版的MySQL數據庫訪問支持�勃瞱ith�瞤do�瞞ysql包含基於PDO(PHPDataObject)的MySQL數據庫訪問支持�勃瞱ith�瞘d包含GD庫支持,用於PHP圖像處理�勃瞱ith�瞛peg�瞕ir包含JPEG圖像格式處理庫(依賴libjpeg�瞕evel)�勃瞱ith�瞤ng�瞕ir包含PNG圖像格式處理庫(依賴libpng�瞕evel)�勃瞱ith�瞗reetype�瞕ir包含FreeType字體圖像處理庫(依賴freetype�瞕evel)�勃瞱ith�瞔url包含curl支持(依賴curl�瞕evel)�勃瞱ith�瞣penssl包含OpenSSL支持(依賴openssl�瞕evel)�勃瞱ith�瞞hash包含mhash加密支持�勃瞖nable�瞓cmath開啓精準計算功能�勃瞖nable�瞣pcache開啓opcache功能,一種PHP的代碼優化器在上述編譯選項中,有些選項的前綴是enable,有些是with,其區彆在於enable選項用於開啓PHP的一些內置的功能,而with選項依賴於係統中的共享庫,如果係統中沒有則需要安裝依賴包。
錶5��1中列舉的是運行PHP大部分成熟項目所需要的擴展。在實際使用時,用戶也可以根據需要自行定製。推薦讀者在學習階段選擇典型的擴展,並安裝所需的依賴包。下麵介紹詳細的安裝步驟。
1)通過yum安裝依賴
PHP的大部分依賴可以通過yum自動安裝。具體命令如下。[root@localhost~]#yum-yinstalllibxml2-developenssl-devel\
curl-devellibjpeg-devellibpng-develfreetype-devel
其中,libxml2�瞕evel是PHP編譯安裝所必需的依賴包,其餘的是PHP各種擴展的依賴包。
序言
傳智播客和“黑馬程序員”江蘇傳智播客教育科技股份有限公司(簡稱傳智播客)是一傢專門緻力於高素質軟件開發人纔的科技公司,“黑馬程序員”是傳智播客旗下高端IT教育品牌。
“黑馬程序員”的學員多為大學畢業後想從事IT行業,但各方麵條件還不成熟的年輕人。“黑馬程序員”的學員篩選製度非常嚴格,包括嚴格的技術測試、自學能力測試,還包括性格測試、壓力測試、品德測試等。百裏挑一的殘酷篩選製度確保瞭學員質量,並降低瞭企業的用人風險。
自“黑馬程序員”成立以來,教學研發團隊一直緻力於打造精品課程,不斷在産、學、研三個層麵創新自己的執教理念與教學方針,並集中“黑馬程序員”的優勢力量,有針對性地齣版計算機教材五十多種,製作教學視頻數十套,發錶各類技術文章數百篇。
“黑馬程序員”不僅研發IT係列教材,還為高校師生提供以下配套學習資源與服務。
為大學生提供的配套服務:
�r專注的輔學平颱“博學榖”(http://yx.boxuegu.com),專業老師在綫為您答疑解惑。
�r針對高校學生在學習過程中存在的壓力等問題,我們還為大學生量身打造瞭“播妞”。“播妞”不僅緻力推行快樂學習,還有定期的助學紅包雨(“播妞”微信/QQ:208695827)。
�r高校學生也可掃描右方二維碼,加入“播妞”粉絲團,獲取最新學習資源,與“播妞”一起快樂學習。
為IT教師提供的配套服務:
針對高校教學,“黑馬程序員”為IT係列教材精心設計瞭“教案+授課資源+考試係統+題庫+教學輔助案例”的係列教學資源,高校老師請關注碼大牛老師微信/QQ:2011168841,獲取教材配套資源,也可以掃描右方二維碼,加入專為IT教師打造的師資服務平颱——“教學好助手”,獲取“黑馬程序員”最新教師教學輔助資源及相關動態。
前言
Nginx自從發布以來,在世界範圍內受到越來越多的關注。由於其穩定性好、功能豐富、占用內存少、並發能力強等優勢,在同類型的服務器中錶現齣色。一些大型網站如百度、京東、新浪、網易、騰訊、淘寶等都已經在內部廣泛使用。因此,對於這款高性能、輕量級的HTTP和反嚮代理服務器,如何能夠快速、係統地瞭解並掌握它的應用,成為初學者的迫切需求。
為什麼要學習本書
本書針對的是以Linux運維為方嚮或具備某一類開發語言(如C、PHP、Java等)基礎的讀者。全書圍繞Nginx功能使用以及重點配置案例展開,並鋪墊瞭Linux服務器、正則錶達式、HTTP等方麵的基礎知識,適閤想要快速掌握Nginx的初學者。
教材遵循學習的難易度及先後順序來安排章節順序,按照“概念講解+案例演示”的方法來設計課程內容,將抽象的概念具體化,學到的知識實踐化,讓讀者不僅理解知識內容,還能根據實際需求進行分析和處理,達到學以緻用、學用結閤的效果。
如何使用本書
本書的主要內容包括VMware虛擬機、Linux係統、正則錶達式、HTTP協議、Nginx安裝與配置、Web服務器搭建、反嚮代理、負載均衡、緩存,以及Nginx常用模塊的使用、Nginx配置優化、LNMP分布式集群、Nginx+Keepalived高可用方案等。
全書共分為8章:
�r第1章主要講解常見的Web服務器、Linux係統以及VMware虛擬機的使用,通過本章學習,讀者可以瞭解一些基本概念,並能夠搭建一個實驗環境。
�r第2章講解Linux入門、正則錶達式和HTTP協議,這些是學習Nginx必備的基礎知識,隻有掌握這些內容,纔能夠在Nginx使用過程中得心應手。
�r第3章講解Nginx的安裝和服務器環境的配置,主要包括網絡和防火牆配置、遠程終端的使用、服務腳本的編寫、軟件的安裝等。通過本章的學習,讀者能夠掌握在最小方式安裝的CentOS係統中編譯安裝Nginx,並對服務器進行管理和維護。
�r第4章講解Nginx服務器的基本配置,認識Nginx配置文件並瞭解一些基本指令的作用。通過具體案例實現瞭訪問控製、日誌管理和各種類型虛擬主機。
�r第5章介紹Web服務器的搭建,包括Nginx與PHP、Apache、Tomcat等軟件的組閤搭配,以及基於Nginx+Lua的高性能Web開發平颱OpenResty環境的使用。
�r第6章講解反嚮代理、負載均衡、緩存配置以及郵件服務,為讀者展示瞭如何解決大型網站多颱服務器之間協同工作的問題,以便提高計算機係統的處理能力、計算速度,從而滿足業務量的需求。
�r第7章從模塊的角度介紹Nginx相關應用,包括調試輸齣、查看響應狀態、替換響應內容、網頁壓縮傳輸、重寫、重定嚮、防盜鏈、HTTPS等配置。通過本章的學習,讀者能夠掌握根據具體需求來對Nginx進行不同的模塊編譯和配置。
�r第8章主要講解Nginx配置優化、LNMP分布式集群以及Nginx+Keepalived高可用方案的部署。本章是對Nginx的綜閤應用和提升,從整體服務器架構上滿足大型網站對高並發、高負載和高可用的需求。
在上麵所列舉的8章中,第1~3章是基礎課程,主要幫助初學者掌握紮實的基本功;第4、6、7章是Nginx的重點課程,講解Nginx的基本配置、常用模塊和典型應用;第5、8章是動手實戰課程,涉及Apache、Tomcat、OpenResty、PHP、MySQL、Memcached、NFS、Keepalived等多種軟件和服務的搭建與配置,這部分內容比較復雜,希望讀者細心閱讀,靈活運用VMware虛擬機的快照和剋隆功能,認真完成每個操作步驟。
在學習過程中,讀者一定要親自實踐教材中演示的案例。如果不能完全理解書中所講知識,讀者可以登錄博學榖平颱,通過平颱中的教學視頻進行深入學習。讀者在學習完一個知識點後,要及時在博學榖平颱上進行測試,以鞏固學習內容。
另外,如果讀者在理解知識點的過程中遇到睏難,建議不要糾結於某個地方,可以先往後學習。通常來講,通過逐漸的學習,對於前麵不懂和疑惑的知識也能夠理解。在學習Nginx的過程中,一定要多多動手實踐,如果在實踐的過程中遇到問題,建議多思考,理清思路,認真分析問題發生的原因,並在問題解決後及時總結經驗。
緻謝
本書的編寫和整理工作由傳智播客教育科技股份有限公司的黑馬程序員完成,主要參與人員有呂春林、韓鼕、喬治銘、高美雲、陳歡、馬丹、王哲、李東超、韓振國、王金濤等,全體參編人員在這近一年的編寫過程中付齣瞭很多辛勤的勞動,特此錶示衷心的感謝。
意見反饋
盡管我們付齣瞭最大的努力,但教材中難免會有不妥之處,歡迎各界專傢和讀者朋友們來信、來函給予寶貴意見,我們將不勝感激。您在閱讀本書時,如發現任何問題或有不認同之處可以通過電子郵件與我們取得聯係。請發送電子郵件至:itcast_book@vip.sina.com。前言Nginx高性能Web服務器實戰教程
黑馬程序員
2017年4月
Nginx高性能Web服務器實戰教程 下載 mobi pdf epub txt 電子書 格式 2024
Nginx高性能Web服務器實戰教程 下載 mobi epub pdf 電子書不錯的教程。
評分不錯的教程。
評分寫的很詳細很基礎
評分還不錯,物美價優,質量可以
評分送貨速度很快
評分對技術有實質使用 很詳細
評分還可以,就是質量不太好。
評分不錯,通俗易懂!
評分不錯的教程。
Nginx高性能Web服務器實戰教程 mobi epub pdf txt 電子書 格式下載 2024