Nginx+tomcat+ssl安裝配置手冊(cè)_第1頁(yè)
Nginx+tomcat+ssl安裝配置手冊(cè)_第2頁(yè)
Nginx+tomcat+ssl安裝配置手冊(cè)_第3頁(yè)
Nginx+tomcat+ssl安裝配置手冊(cè)_第4頁(yè)
Nginx+tomcat+ssl安裝配置手冊(cè)_第5頁(yè)
已閱讀5頁(yè),還剩10頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、Nginx+tomcat+SS安裝配置手冊(cè)1.介紹Nginx("enginex")是一個(gè)高性能的HTTP和反向代理服務(wù)器,也是一個(gè)IMAP/POP3/SMTP代理服務(wù)器。nginx有以下幾項(xiàng)基本特性:模塊化結(jié)構(gòu)過(guò)濾器包括gzipping,byteranges,chunkedresponses,以及SSI-filter等f(wàn)ilter。高性能支持內(nèi)核Poll模型,能經(jīng)受高負(fù)載的考驗(yàn),有報(bào)告表明能支持高達(dá)50,000個(gè)并發(fā)連接數(shù)。高穩(wěn)定性Nginx采取了分階段資源分配技術(shù),使得它的CPU與內(nèi)存占用率非常低。官方表示保持10,000個(gè)沒有活動(dòng)的連接,它只占2.5M內(nèi)存。多負(fù)載策略多

2、種分配策略,并且分配均勻。自Nginx發(fā)布四年來(lái),Nginx已經(jīng)因?yàn)樗姆€(wěn)定性、豐富的功能集、示例配置文件和低系統(tǒng)資源的消耗而聞名了。目前國(guó)內(nèi)各大門戶網(wǎng)站已經(jīng)部署了Nginx,如新浪、網(wǎng)易、騰訊等;國(guó)內(nèi)幾個(gè)重要的視頻分享網(wǎng)站也部署了Nginx,如六房間、酷6等。2 .準(zhǔn)備2.1 資源Nginx中文網(wǎng)站:http:Nginx英文網(wǎng)站:/PCRE網(wǎng)立/2.2 相關(guān)軟件1) PCREPCRE(PerlCompatibleRegularExpressions)中文含義:perl語(yǔ)言兼容正則表達(dá)式)是一個(gè)用C語(yǔ)言編寫的正則表達(dá)式函數(shù)庫(kù)。P

3、CRE已安裝。neginx中使用正則表達(dá)式進(jìn)行靈活配置,安裝之前需要確認(rèn)下載地址:/,使用版本pcre-8.12.tar.gz2) nginx-upstream-jvm-routenginx_upstream_jvm_route是一個(gè)Nginx的擴(kuò)展模塊,用來(lái)實(shí)現(xiàn)基于Cookie的SessionSticky的功能下載地址(svn):http:/nginx-upstream-jvm-3 .部署結(jié)構(gòu)配置Tomcat集群,修改server.xml,增力DjvmRoute,實(shí)現(xiàn)session同步安裝Nginx、nginx_upstream_jvm_route實(shí)現(xiàn)負(fù)載

4、均希4 .環(huán)境安裝4.1 Windows版安裝安裝文件為.zip文件,解壓縮后,運(yùn)行目錄中的nginx.exe(或使用命令,服務(wù)啟動(dòng)。瀏覽器中輸入:0,出現(xiàn)“Welcometonginx!”頁(yè)面,安裝成功。4.2 Linux版安裝安裝說(shuō)明本例將nginx安裝在/home/apps目錄下。將pcre-8.12.tar.gz、nginx-0.8.54.tar.gz文件ftp至1J/home/apps目錄下。將nginx-upstream-jvm-route文件夾ftp至U/home/apps目錄下。安裝步驟1) PCR段裝#cd/home/apps#tarzxf

5、pcre-8.12.tar.gz#cdpcre-8.12#./config#make#makeinstall默認(rèn)安裝路徑為:/usr/local/lib2) nginx-upstream-jvm-route安裝#cd/home/apps# tarNxfnginx-0.8.54.tar.gz# mvnginx-0.8.54nginx-0.8.54-src# cdnginx-0.8.54-src# patch-p0<./nginx-upstream-jvm-route/jvm_route.patch3) nginx安裝# cd/home/apps/nginx-0.8.54# ./config

6、ure-prefix=/home/apps/nginx-0.8.54-with-http_ssl_module-with-http_gzip_static_module-with-http_stub_status_module-add-module=/home/apps/nginx-upstream-jvm-route#make#makeinstall啟動(dòng)、驗(yàn)證# cd/home/apps/nginx-0.8.54/sbin#./nginx5. Nginx配置5.1 通用參數(shù)配置1) worker_processes:指明了nginx要開啟的進(jìn)程數(shù),據(jù)官方說(shuō)法,一般開一個(gè)就夠了,多開幾個(gè),可以

7、減少機(jī)器io帶來(lái)的影響。(網(wǎng)上經(jīng)驗(yàn),設(shè)置為cpu數(shù)的兩倍)。2) worker_connections:每個(gè)工作進(jìn)程允許最大的同時(shí)連接數(shù)。5.2 負(fù)載均衡配置說(shuō)明Nginx使用upstream模塊配置負(fù)載均衡,upstream目前支持5鐘配置方式,每種方式是不同的負(fù)載策略,除了這五種外可以使用nginx-upstream-jvm-route擴(kuò)展模塊,在配置部分會(huì)針對(duì)6中進(jìn)行示例。準(zhǔn)備工作安裝nginx-upstream-jvm-route擴(kuò)展模塊。修改tomcat的server.xml文件,在"Engine”節(jié)點(diǎn)增加“jvmRoute="tomcat1""

8、;和"jvmRoute="tomcat2"配置1) 輪詢(默認(rèn))每個(gè)請(qǐng)求按時(shí)間順序逐一分配到不同的后端服務(wù)器,如果后端服務(wù)器down掉,能自動(dòng)剔除。(server0:8080;server1:8081;)2) weight指定輪詢幾率,weight和訪問(wèn)比率成正比,用于后端服務(wù)器性能不均的情況。weight默認(rèn)為1.weight越大,負(fù)載的權(quán)重就越大。(server0:8080weight=1;server1:8081weight=2;3) ip_hash每個(gè)請(qǐng)求按訪問(wèn)

9、ip的hash結(jié)果分配,這樣每個(gè)訪客固定訪問(wèn)一個(gè)后端服務(wù)器,可以解決session的問(wèn)題。(ip_hash;server0:8080;server1:8081;)4) fair按后端服務(wù)器的響應(yīng)時(shí)間來(lái)分配請(qǐng)求,響應(yīng)時(shí)間短的優(yōu)先分配。(server0:8080;server1:8081;fair;)5) url按訪問(wèn)url的hash結(jié)果來(lái)分配請(qǐng)求,使每個(gè)url定向到同一個(gè)后端服務(wù)器,后端服務(wù)器為緩存時(shí)比較有效。(server0:8080;server1:

10、8081;hash$request_uri;hash_methodcrc32;)6) nginx-upstream-jvm-routeNginx的擴(kuò)展模塊,用來(lái)實(shí)現(xiàn)基于Cookie的SessionSticky的功能。(server0:8080srun_id=tomcat1;server1:8081srun_id=tomcat2;jvm_route$cookie_JSESSIONID|sessionidreverse;)5.3 SSL模塊配置準(zhǔn)備證書,使用openssl將p12文件導(dǎo)出服務(wù)器證書文件、服務(wù)器私鑰文件、客戶證書的簽發(fā)證書(CA證書)。

11、見openssl命令。說(shuō)明Nginx可是實(shí)現(xiàn)SS而配置,實(shí)現(xiàn)單向和雙向認(rèn)證,并能夠驗(yàn)證證書的狀態(tài)。準(zhǔn)工作配置單項(xiàng)SSL需要準(zhǔn)備服務(wù)器證書文件和私鑰文件,配置雙向SSL還需要準(zhǔn)備用戶證書的簽發(fā)證書。CA服務(wù)器證書文件為p12格式(nginx不能配置p12格式?),需將p12格式轉(zhuǎn)化為crt/cer、key文件格式。使用openssl做轉(zhuǎn)換,命令如下:opensslpkcs12-.pfx-nodes-nocerts-outserver.keyopensslpkcs12-.pfxd-nodes-nokeys-clcerts-outserver.crtopensslpkcs12-inrootca.pf

12、x-nodes-nokeys-clcerts-outca.crt配置HTTPS修改nginx.conf文件,配置HTTPS莫塊,配置如下:serverlisten443;server_namelocalhost;sslon;ssl_certificateserver.crt;ssl_certificate_keyserver.key;ssl_client_certificateca.crt;#雙向認(rèn)證ssl_verify_clienton;#雙向認(rèn)證ssl_session_timeout5m;ssl_protocolsSSLv2SSLv3TLSv1;ssl_ciphersALL:!ADH:!E

13、XPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;ssl_prefer_server_cipherson;location/XXXX_center/proxy_pass0/XXXX_center/;proxy_set_headerX-Real-IP$remote_addr;proxy_set_headerSSL_CERT$ssl_client_cert;proxy_set_headerX-Forwarded-For$proxy_add_x_forwarded_for;location/roothtml;indexi

14、ndex.htmlindex.htm;)注思1、 Nginx配置了SSL后,tomcat不需要再配置SSL因?yàn)榇磙D(zhuǎn)向地址為http而非https,如:proxy_passhttp:0/XXXX_center/;2、 Nginx配置SSL后,web服務(wù)器部署的應(yīng)用不能再獲取到用戶證書,而服務(wù)器平臺(tái)必須要拿到用戶證書進(jìn)行業(yè)務(wù)驗(yàn)證。這就需要nginx將用戶證書透?jìng)鞯絯eb服務(wù)器,在這里將用戶證書添加到http頭中,應(yīng)用從http頭獲取用戶證書,達(dá)到透?jìng)鞯哪康?,如:proxy_set_headerSSL_CERT$ssl_client_cert;5.4 靜態(tài)文件配置說(shuō)明Ngi

15、nx可處置靜態(tài)文件,應(yīng)用服務(wù)器只處理動(dòng)態(tài)文件,提高訪問(wèn)和處理能力。準(zhǔn)備工作將靜態(tài)文件放入nginx服務(wù)器:在nginx目錄下創(chuàng)建web目錄,將XXXX_center下的XXXX_center/static/sj和XXXX_center/static/smpush文件放入web目錄,目錄結(jié)構(gòu)為:XXXX_center/static/sj、/nginx-0.8.54/web/XXXX_center/static/smpush。配置location.(css|js)rootweb;#將應(yīng)用的靜態(tài)內(nèi)容放入web目錄下expires1h;/注思1、過(guò)濾條件根據(jù)需求改變表達(dá)式即可。2、Tomcat下發(fā)布的

16、XXXX_center應(yīng)用不需要在包含靜態(tài)文件,只需維護(hù)nginx的靜態(tài)文件即可。5.5 監(jiān)控模塊說(shuō)明配置locationA/NginxStatusstub_statuson;)監(jiān)控信息輸入nginx的URL0/NginxStatus,顯示如下內(nèi)容:Activeconnections:70serveracceptshandledrequests145538191455381919239266Reading:0Writing:3Waiting:67activeconnections:當(dāng)前Nginx正處理的活動(dòng)連接數(shù)。serveracceptshandledre

17、quests-總共處理了14553819個(gè)連接,成功創(chuàng)建14553819次握手(證明中間沒有失敗的),總共處理了19239266個(gè)請(qǐng)求(平均每次握手處理了1.3個(gè)數(shù)據(jù)請(qǐng)求)。reading-nginx讀取到客戶端的Header信息數(shù)。writing-nginx返回給客戶端的Header信息數(shù)。waiting-開啟keep-alive的情況下,這個(gè)值等于active-(reading+writing),意思就是Nginx已經(jīng)處理完正在等候下一次請(qǐng)求指令的駐留連接。6. Tomcat集群配置:實(shí)現(xiàn)多臺(tái)web服務(wù)器的session同步。6.1 條件1、確定nginx服務(wù)器和兩臺(tái)tomcat服務(wù)器可以

18、互訪,并且兩個(gè)tomcat機(jī)器在一個(gè)網(wǎng)段內(nèi)。2、確定兩臺(tái)tomcathost多播已經(jīng)打開,在Linux機(jī)器上可以使用cat/proc/net/dev_mcast檢查,如果文件存在基本上就是打開了。6.2 配置1、修改web.xml,在其中<display-name>XXXX_center</display-name>節(jié)點(diǎn)后添加distributable/,表明此應(yīng)用與集群服務(wù)器復(fù)制Session2、 修改tomcat的server.xml文件,在“Engine"節(jié)點(diǎn)增加"jvmRoute="tomcat1"”,改后為:<En

19、ginename="Catalina"defaultHost="localhost"jvmRoute="tomcat1">、<Enginename="Catalina”defaultHost="localhost"jvmRoute="tomcat2”>。3、修改tomcat的server.xml文件,在“Engine”節(jié)點(diǎn)下增加如下內(nèi)容:<ClusterclassName="org.apache.catalina.ha.tcp.SimpleTcpCluster&

20、quot;channelSendOptions="6"><ManagerclassName="org.apache.catalina.ha.session.DeltaManager"expireSessionsOnShutdown="false"notifyListenersOnReplication="true"/><ChannelclassName="org.apache.catalina.tribes.group.GroupChannel”><Membership

21、className="org.apache.catalina.tribes.membership.McastService"address=""port="45564"frequency="500"dropTime="3000"/><ReceiverclassName="org.apache.catalina.tribes.transport.nio.NioReceiver"address="0"por

22、t="400rselectorTimeout=T00"maxThreads="6"/><SenderclassName="org.apache.catalina.tribes.transport.ReplicationTransmitter"><TransportclassName="org.apache.catalina.tribes.transport.nio.PooledParallelSender"/></Sender><InterceptorclassNam

23、e="erceptors.TcpFailureDetector"/><InterceptorclassName="erceptors.MessageDispatch15Interceptor"/></Channel><ValveclassName="org.apache.catalina.ha.tcp.ReplicationValve"filter=&quo

24、t;.*.gif;*.js;*.jpg;.*.png;*.htm;.*.html;.*.css;.*.txt;"/><ClusterListenerclassName="org.apache.catalina.ha.session.JvmRouteSessionIDBinderListener"/><ClusterListenerclassName="org.apache.catalina.ha.session.ClusterSessionListener"/></Cluster>6.3 驗(yàn)證在兩臺(tái)to

25、mcat服務(wù)器部署的應(yīng)用中放置test.jsp文件,在瀏覽器輸入U(xiǎn)RL:0:8081/XXXXcenter/test.jsp,輸入U(xiǎn)RL:1:8082/XXXXcenter/test.jsp,兩個(gè)頁(yè)面顯示出tomcat1和tomcat2上的session值,說(shuō)明session同步起作用了。參考附錄中的test.jsp文件。7. Web服務(wù)器比較serverApacheNginxLighttpdProxy代理卜常好非常好一般Rewriter好非常好一般Fcgi卜好好非常好熱部署卜支持支持不支持系統(tǒng)壓力比較卜大很小比較小急定性

26、好非常好不好安全性好一般一般皮術(shù)支持卜常好很少一般停態(tài)文件處理,般非常好好Vhosts虛擬主機(jī)卮持不支持支持反向代理一般非常好一般Sessionsticky卜持不支持不支持8. 附錄8.1 nginx相關(guān)命令# 啟動(dòng)./nginx# 停止./nginx-sstop# 重新加載./nginx-sreload# 測(cè)試配置文件./nginx-t8.2 openssl相關(guān)命令opensslpkcs12-.pfx-nodes-nocerts-outserver.keyopensslpkcs12-.pfx-nodes-nokeys-clcerts-outserver.crtopensslpkcs12-in

27、rootca.pfx-nodes-nokeys-clcerts-outca.crt8.3 nginx配置文件#usernobody;worker_processes1;#pidlogs/nginx.pid;eventsworker_connections1024;http(includemime.types;default_typeapplication/octet-stream;#access_loglogs/access.logmain;sendfileon;#tcp_nopushon;#keepalive_timeout0;keepalive_timeout65;gzipon;proxy

28、_connect_timeout3s;(#ip_hash;server0:8080srun_id=tomcat1;server0:8081srun_id=tomcat2;jvm_route$cookie_JSESSIONID|sessionidreverse;serverlisten80;server_namelocalhost;charsetutf-8;#access_loglogs/host.access.logmain;locationA/NginxStatusstub_statuson;location/XXXX_center/proxy

29、_passproxy_set_headerX-Real-IP$remote_addr;proxy_set_headerX-Forwarded-For$proxy_add_x_forwarded_for;)location/provider_demo/proxy_passproxy_set_headerX-Real-IP$remote_addr;proxy_set_headerX-Forwarded-For$proxy_add_x_forwarded_for;)location/roothtml;indexindex.htmlindex.htm;一#error_page404/404.html;

30、#redirectservererrorpagestothestaticpage/50x.html#error_page500502503504/50x.html;location=/50x.htmlroothtml;)#HTTPSserver#serverlisten443;server_namelocalhost;sslon;ssl_certificateserver.crt;ssl_certificate_keyserver.key;ssl_client_certificateca.crt;ssl_verify_clienton;ssl_session_timeout5m;ssl_pro

31、tocolsSSLv2SSLv3TLSvl;ssl_ciphersALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;ssl_prefer_server_cipherson;#error_page497"https:/$host$uri$is_args$args"location/XXXX_center/proxy_passproxy_set_headerX-Real-IP$remote_addr;proxy_set_headerSSL_CERT$ssl_client_cert;proxy_set_headerX-Forw

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論