輕量級HTTP服務(wù)器反向代理服務(wù)器nginx_第1頁
輕量級HTTP服務(wù)器反向代理服務(wù)器nginx_第2頁
輕量級HTTP服務(wù)器反向代理服務(wù)器nginx_第3頁
輕量級HTTP服務(wù)器反向代理服務(wù)器nginx_第4頁
輕量級HTTP服務(wù)器反向代理服務(wù)器nginx_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、輕量級HTTP服務(wù)器/反向代理服務(wù)器nginx主講人:華章培訓(xùn)網(wǎng)、華章培訓(xùn)網(wǎng)版權(quán)所有快速搭建一個基于Nginx 的Web服務(wù)器系統(tǒng)第一講華章培訓(xùn)網(wǎng)、華章培訓(xùn)網(wǎng)版權(quán)所有內(nèi)容概述nginx的概念以及功能點簡單安裝nginx配置一個簡單的Ningx應(yīng)用1、Nginx的概念Nginx是一款高性能的HTTP和反向代理服務(wù)器軟件,也是一個 IMAP/POP3/SMTP 代理服務(wù)器,可以運行在UNIX,GNU/Linux,BSD,Mac OS X, Solaris, 以及 Microsoft Windows等操作系統(tǒng)中。2、Nginx與Apache的異同相同點:都是一個HTTP服務(wù)器軟件。功能實現(xiàn)上都采用模

2、塊化結(jié)構(gòu)設(shè)計,都支持通用的語言接口,如PHP、Perl、Python等。支持正、反向代理,虛擬主機(jī),URL重寫,壓縮傳輸,SSL加密傳輸?shù)取2煌c:Apache處理速度很慢,且占用很多內(nèi)存資源,而Nginx卻恰恰相反.Apache的所有模塊都支持動、靜態(tài)編譯,而Nginx模塊都是靜態(tài)編譯.Apache對Fcgi支持不好,而Nginx對Fcgi的支持非常的好.nginx的概念以及功能點33、Nginx的優(yōu)勢作為Web服務(wù)器,nginx處理靜態(tài)文件、索引文件以及自動索引效率非常高。作為代理服務(wù)器,Nginx可以實現(xiàn)反向代理加速。作為負(fù)載均衡服務(wù)器,Nginx支持簡單的容錯和利用算法進(jìn)行負(fù)載均衡。在

3、性能方面,Nginx采用內(nèi)核Poll模型,可以支持更多的并發(fā)連接。在穩(wěn)定性方面,Nginx采取了分階段資源分配技術(shù),可以使CPU與內(nèi)存的占用率非常低。在高可用性方面,Nginx支持熱部署,啟動速度特別快,幾乎可以做到724小時的不間斷運行。nginx的概念以及功能點41、下載NginxNginx有三個版本:穩(wěn)定版、開發(fā)版和歷史穩(wěn)定版,Nginx的官方網(wǎng)站是,英文主頁為,安裝Nginx之前,確保系統(tǒng)已經(jīng)安裝了gcc、 openssl-devel、 pcre-devel和zlib-devel軟件庫。2、安裝Nginx所需的pcre-devel庫安裝pcre庫是為了使Nginx支持HTTP Rewr

4、ite 模塊。下面進(jìn)行安裝,過程如下。rootlocalhost home# tar zxvf pcre-8.02.tar.gzrootlocalhost home# cd pcre-8.02rootlocalhost pcre-8.02#./configurerootlocalhost pcre-8.02#makerootlocalhost pcre-8.02#make install3、安裝Nginxrootlocalhost home# tar zxvf nginx-0.7.65.tar.gzrootlocalhost home#cd nginx-0.7.65rootlocalhostn

5、ginx-0.7.65#./configure -with-http_stub_status_module -prefix=/opt/nginxrootlocalhost nginx-0.7.65#makerootlocalhost nginx-0.7.65#make install在上面的configure選項中“-with-http_stub_status_module”可以用來啟用 Nginx的NginxStatus 功能,以監(jiān)控 Nginx 的當(dāng)前狀態(tài)。簡單安裝nginx51、Nginx配置文件結(jié)構(gòu)配置一個簡單的Ningx應(yīng)用62、開始配置NginxNginx配置文件主要分成四部分:m

6、ain(全局設(shè)置)server(主機(jī)設(shè)置)upstream(負(fù)載均衡服務(wù)器設(shè)置)location(URL匹配特定位置的設(shè)置)。main部分設(shè)置的指令將影響其他所有設(shè)置;server部分的指令主要用于指定主機(jī)和端口;upstream指令主要用于負(fù)載均衡,設(shè)置一系列的后端服務(wù)器;location部分用于匹配網(wǎng)頁位置。這四者之間的關(guān)系式:server繼承main,location繼承server,upstream既不會繼承其他設(shè)置也不會被繼承。配置一個簡單的Ningx應(yīng)用72、開始配置Nginxuser nobody nobody;worker_processes 4;error_log logs/

7、error.log notice;pid logs/nginx.pid;worker_rlimit_no; eventsuse epoll;worker_connections 65536; worker_processes指定Nginx要開啟的進(jìn)程數(shù)。error_log用來定義全局錯誤日志文件。日志輸出級別有debug、info、notice、warn、error、crit可供選擇,其中,debug輸出日志最為最詳細(xì),而crit輸出日志最少。 pid用來指定進(jìn)程id的存儲文件位置。worker_rlimit_nofile用于綁定worker進(jìn)程和CPU, Linux內(nèi)核2.4以上可用。eve

8、nts是設(shè)定Nginx的工作模式及連接數(shù)上限。use用來指定Nginx的工作模式。對于Linux系統(tǒng),epoll工作模式是首選。worker_connections用于定義Nginx每個進(jìn)程的最大連接數(shù),默認(rèn)是1024.最大客戶端連接數(shù)由worker_processes和worker_connections決定,即為:Max_client=worker_processes*worker_connections配置一個簡單的Ningx應(yīng)用82、開始配置Nginxhttpinclude conf/mime.types;default_type application/octet-stream; l

9、og_format main $remote_addr - $remote_user $time_local $request $status $bytes_sent $http_referer $http_user_agent $gzip_ratio;log_format download $remote_addr - $remote_user $time_local $request $status $bytes_sent $http_referer $http_user_agent $http_range $sent_http_content_range;access_log logs/

10、 main;client_max_body_size 20m; client_header_buffer_size 32K;large_client_header_buffers 4 32k;Sendfile on;tcp_nopush on;tcp_nodelay on;keepalive_timeout 60;client_header_timeout 10;client_body_timeout 10;send_timeout 10;配置一個簡單的Ningx應(yīng)用92、開始配置Nginx對上面配置參數(shù)含義解釋如下:include實現(xiàn)對配置文件所包含的文件的設(shè)定,類似于Apache中的inc

11、lude方法。default_type是設(shè)定默認(rèn)類型為二進(jìn)制流,也就是當(dāng)文件類型未定義時使用這種方式。log_format用于指定Nginx日志的輸出格式。main為此日志輸出格式的名稱,可以在下面的access_log指令中引用。access_log用來指定此虛擬主機(jī)的訪問日志存放路徑,最后的main用于指定訪問日志的輸出格式。client_max_body_size用來設(shè)置允許客戶端請求的最大的單個文件字節(jié)數(shù)。client_header_buffer_size用于指定來自客戶端請求頭的headerbuffer大小。large_client_header_buffers用來指定客戶端請求中較

12、大的消息頭的緩存最大數(shù)量和大小, “4”為個數(shù),“128K”為大小,最大緩存量為4個128K。sendfile參數(shù)用于開啟高效文件傳輸模式。將tcp_nopush和tcp_nodelay兩個指令設(shè)置為on用于防止網(wǎng)絡(luò)阻塞。keepalive_timeout設(shè)置客戶端連接保持活動的超時時間。client_header_timeout設(shè)置客戶端請求頭讀取超時時間。client_body_timeout設(shè)置客戶端請求主體讀取超時時間。send_timeout指定響應(yīng)客戶端的超時時間。配置一個簡單的Ningx應(yīng)用102、開始配置Nginxgzip on;gzip_min_length 1k;gzip_

13、buffers 4 16k;gzip_http_version 1.1;gzip_comp_level 2;gzip_types text/plain application/x-javascript text/css application/xml;gzip_vary on;gzip用于設(shè)置開啟或者關(guān)閉gzip模塊,“on”表示實時壓縮輸出數(shù)據(jù)流。gzip_min_length設(shè)置允許壓縮的頁面最小字節(jié)數(shù),建議設(shè)置成大于1K的字節(jié)數(shù),小于1K可能會越壓越大。gzip_buffers表示申請4個單位為16K的內(nèi)存作為壓縮結(jié)果流緩存。gzip_http_version用于設(shè)置識別HTTP協(xié)議版本

14、,默認(rèn)是1.1。gzip_comp_level用來指定GZIP壓縮比,1 壓縮比最小,處理速度最快;9 壓縮比最大,傳輸速度快,但處理最慢,也比較消耗cpu資源。gzip_types用來指定壓縮的類型,無論是否指定,“text/html”類型總是會被壓縮的。gzip_vary 開啟這個選項可以讓前端的緩存服務(wù)器緩存經(jīng)過GZIP壓縮的頁面。配置一個簡單的Ningx應(yīng)用112、開始配置Nginxserverlisten 80;server_name 88 ;index index.html index.htm index.jsp;root /web/charset gb2312;server標(biāo)志定

15、義虛擬主機(jī)開始。listen用于指定虛擬主機(jī)的服務(wù)端口。server_name用來指定IP地址或者域名,多個域名之間用空格分開。Index用于設(shè)定訪問的默認(rèn)首頁地址。root指令用于指定虛擬主機(jī)的網(wǎng)頁根目錄,這個目錄可以是相對路徑,也可以是絕對路徑。Charset用于設(shè)置網(wǎng)頁的默認(rèn)編碼格式。配置一個簡單的Ningx應(yīng)用122、開始配置Nginxlocation .*.(gif|jpg|jpeg|png|bmp|swf)$ root /web/; expires 30d; URL地址匹配是進(jìn)行Nginx配置中最靈活的部分。 location支持正則表達(dá)式匹配,也支持條件判斷匹配,用戶可以通過lo

16、cation指令實現(xiàn)Nginx對動、靜態(tài)網(wǎng)頁進(jìn)行過濾處理。上面這段表示所有擴(kuò)展名以.gif、.jpg、.jpeg、.png、.bmp、.swf結(jié)尾的靜態(tài)文件都交給nginx處理,而expires用來指定靜態(tài)文件的過期時間,這里是30天。 location /(upload|html)/ root /web/; expires 30d; 上面這段是將upload和html下的所有文件都交給nginx來處理,當(dāng)然,upload和html目錄包含在/web/目錄中。配置一個簡單的Ningx應(yīng)用132、開始配置Nginxlocation .*.jsp$ index index.jsp; proxy_p

17、ass ;上面這段是將所有以.jsp為后綴的文件都交給本機(jī)的8080端口處理。 location /NginxStatus stub_status on;access_log logs/NginxStatus.log; auth_basic NginxStatus;auth_basic_user_file ./htpasswd; 上面這段是啟用Nginx的工作狀態(tài)統(tǒng)計功能,access_log用來指定StubStatus模塊的訪問日志文件。auth_basic是Nginx的一種認(rèn)證機(jī)制。auth_basic_user_file用來指定認(rèn)證的密碼文件。 error_page 404 /404.html; error_page 500 502 503 504 /50 x.html; location = /50 x.html root html; #這段代碼是設(shè)置nginx錯誤頁面信息。 配置一個簡單的Ningx應(yīng)用141、檢查Nginx配置文件的正確性/opt/ng

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論