日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Nginx >内容正文

Nginx

Nginx+Tomcat负载均衡配置

發布時間:2024/9/27 Nginx 59 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Nginx+Tomcat负载均衡配置 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.


Nginx+tomcat是目前主流的java web架構,如何讓nginx+tomcat同時工作呢,也可以說如何使用nginx來反向代理tomcat后端均衡呢?下面然給我們詳細來了解一下吧

Nginx+tomcat是目前主流的java web架構,如何讓nginx+tomcat同時工作呢,也可以說如何使用nginx來反向代理tomcat后端均衡呢?直接安裝配置如下:

?

1、JAVA JDK安裝:

  • #下載相應的jdk軟件包,然后解壓安裝,我這里包名稱為:jdk-7u25-linux-x64.tar.gz? ?
  • ?? ?
  • tar?-xzf??jdk-7u25-linux-x64.tar.gz??;mkdir?-p?/usr/java/?;mv?jdk1.7.0_25/?/usr/java/?下.? ?
  • ?? ?
  • #然后配置環境變量,這樣可以任何地方引用jdk,如下配置:? ?
  • ?? ?
  • #vi?/etc/profile?最后面加入以下語句:? ?
  • ?? ?
  • export?JAVA_HOME=/usr/java/jdk1.7.0_25? ?
  • ?? ?
  • export?CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib ?
  • ?? ?
  • export?PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOMR/bin ?
  • ?? ?
  • #source?/etc/profile???#使環境變量馬上生效? ?
  • ?? ?
  • #java??--version????#查看java版本,看到jdk1.7.0_25版本即代表java?jdk安裝成功。?
  • ?

    2、Nginx安裝:

  • wget?http://nginx.org/download/nginx-1.2.6.tar.gz? ?
  • ?? ?
  • useradd?www? ?
  • ?? ?
  • tar?zxvf?nginx-1.2.6.tar.gz? ?
  • ?? ?
  • cd?nginx-1.2.6/? ?
  • ?? ?
  • ./configure?--user=www?--group=www?--prefix=/usr/local/nginx ?
  • ?\--with-http_stub_status_module?--with-http_ssl_module? ?
  • ?? ?
  • make?&&?make?install ?
  • ?? ?
  • #Nginx安裝完畢,然后使用命令:/usr/local/nginx/sbin/nginx?-t?測試OK,代表nginx安裝成功。? ?
  • ?? ?
  • /usr/local/nginx/sbin/nginx?回車啟動nginx,可以通過訪問http://ip/看到nginx默認頁面。?
  • ?

    3、Tomcat安裝:

  • #官方網站下載tomcat?6.0.30或者其他版本:? ?
  • ?? ?
  • cd?/usr/src??&&?tar?xzf??apache-tomcat-6.0.30.tar.gz? ?
  • ?? ?
  • #直接解壓就可以使用,解壓完成執行,同時拷貝兩個tomcat,命名為tomcat1?tomcat2? ?
  • ?? ?
  • mv?apache-tomcat-6.0.30??/usr/local/tomcat1 ?
  • ?? ?
  • cp?/usr/local/tomcat1??/usr/local/tomcat2?-r? ?
  • ?? ?
  • #分別修改tomcat1和tomcat2?端口,這里有三個端口需要修改,分別如下:? ?
  • ?? ?
  • shutdown?端口:8005??主要負責啟動關閉.? ?
  • ?? ?
  • ajp端口:8009?主要負責通過ajp均衡(常用于apache和tomcat整合)? ?
  • ?? ?
  • http端口:8080?可以通過web頁面直接訪問(nginx+tomcata整合)? ?
  • ?? ?
  • #注*?如果tomcat1三個端口分別為:8005?8009?8080?,那么tomcat2端口在此基礎上都+1,即為:8006?8010?8081? ?
  • ?? ?
  • #一臺服務器上,端口不能重復,否則會報錯。? ?
  • ?? ?
  • #修改完端口后,然后啟動兩個tomcat,啟動命令為:? ?
  • ?? ?
  • #如何提示沒有這個文件或者權限不足,需要tomcat?的bin目錄對sh文件賦予執行權限:chmod?o+x???*.sh? ?
  • ?? ?
  • /usr/local/tomcat1/bin/startup.sh? ?
  • ?? ?
  • /usr/local/tomcat2/bin/startup.sh? ?
  • ?? ?
  • #啟動后,使用netstat?-tnl?可以看到6個端口,即代表tomcat1?tomcat2成功啟動。你可以使用http://ip:8080??http://ip:8081訪問tomcat默認頁面。??
  • ?

    #如果需要修改tomcat發布目錄為自己制定的目錄,需要做如下調整,創建兩個發布目錄:

  • mkdir?-p?/usr/webapps/{www1,www2}?
  • ?

    編輯vi /usr/local/tomcat1/conf/server.xml 在最后</Host>前一行加下內容:

  • <Context??path=""?docBase="/usr/webapps/www1"?reloadable="false"/>?
  • ?

    2.編輯vi /usr/local/tomcat2/conf/server.xml 在最后</Host>前一行加下內容:

  • <Context??path=""?docBase="/usr/webapps/www2"?reloadable="false"/>?
  • ?

    3.tomcat1發布目錄內容:

  • <html>? ?
  • <body>? ?
  • <h1>TOMCAT_1?JSP?Test?Page</h1>? ?
  • <%=new?java.util.Date()%>? ?
  • </body>? ?
  • </html>?
  • ?

    4.tomcat2發布目錄內容:

  • <html>? ?
  • <body>? ?
  • <h1>TOMCAT_2?JSP?Test?Page</h1>? ?
  • <%=new?java.util.Date()%>? ?
  • </body>? ?
  • </html>?
  • ?

    然后訪問http://ip:8080、8081查看測試內容。

    ?

    5、Nginx+tomcat整合:

    ?

    整合主要是修改nginx.conf配置,給一個完整的nginx.conf線上配置,部分參數可以自己根據實際需求修改:

  • user?www?www;? ?
  • worker_processes?8;? ?
  • pid?/usr/local/nginx/nginx.pid;? ?
  • worker_rlimit_nofile?102400;? ?
  • events? ?
  • {? ?
  • use?epoll;? ?
  • worker_connections?102400;? ?
  • }? ?
  • http? ?
  • {? ?
  • ??include???????mime.types;? ?
  • ??default_type??application/octet-stream;? ?
  • ??fastcgi_intercept_errors?on;? ?
  • ??charset??utf-8;? ?
  • ??server_names_hash_bucket_size?128;? ?
  • ??client_header_buffer_size?4k;? ?
  • ??large_client_header_buffers?4?32k;? ?
  • ??client_max_body_size?300m;? ?
  • ??sendfile?on;? ?
  • ??tcp_nopush?????on;? ?
  • ???? ?
  • ??keepalive_timeout?60;? ?
  • ???? ?
  • ??tcp_nodelay?on;? ?
  • ??client_body_buffer_size??512k;? ?
  • ?? ?
  • ??proxy_connect_timeout????5;? ?
  • ??proxy_read_timeout???????60;? ?
  • ??proxy_send_timeout???????5;? ?
  • ??proxy_buffer_size????????16k;? ?
  • ??proxy_buffers????????????4?64k;? ?
  • ??proxy_busy_buffers_size?128k;? ?
  • ??proxy_temp_file_write_size?128k;? ?
  • ???? ?
  • ??gzip?on;? ?
  • ??gzip_min_length??1k;? ?
  • ??gzip_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;? ?
  • ???? ?
  • ###2012-12-19?change?nginx?logs? ?
  • log_format??main??'$http_x_forwarded_for?-?$remote_user?[$time_local]?"$request"?' ?
  • ??????????????'$status?$body_bytes_sent?"$http_referer"?' ?
  • ??????????????'"$http_user_agent"??$request_time?$remote_addr';? ?
  • ???????????????? ?
  • upstream?web_app?{? ?
  • ?server?127.0.0.1:8080?weight=1?max_fails=2?fail_timeout=30s;? ?
  • ?server?127.0.0.1:8081?weight=1?max_fails=2?fail_timeout=30s;? ?
  • }? ?
  • ?? ?
  • ####chinaapp.sinaapp.com? ?
  • server?{? ?
  • ????listen?80;? ?
  • ????server_name??chinaapp.sinaapp.com;? ?
  • ????index?index.jsp?index.html?index.htm;? ?
  • ????#發布目錄/data/www? ?
  • ????root??/data/www;? ?
  • ?????? ?
  • ????location?/? ?
  • ????{? ?
  • ????proxy_next_upstream?http_502?http_504?error?timeout?invalid_header;? ?
  • ????proxy_set_header?Host??$host;? ?
  • ????proxy_set_header?X-Real-IP?$remote_addr;? ?
  • ????proxy_set_header?X-Forwarded-For?$proxy_add_x_forwarded_for;? ?
  • ????proxy_pass?http://web_app;? ?
  • ????expires??????3d;? ?
  • ????}? ?
  • ??? ?
  • ??}? ?
  • ?? ?
  • }?
  • ?

    #注* server段 proxy_pass定義的web_app需要跟upstream 里面定義的web_app一致,否則server找不到均衡。????

    ?

    #如上配置,nginx+tomcat反向代理負載均衡配置完畢,如果要做動靜分離,只需要在nginx添加如下配置就OK了。

  • ?#配置Nginx動靜分離? ?
  • ? ?
  • location?~?.*\.(html|htm|gif|jpg|jpeg|bmp|png|ico|txt|js|css)$? ?
  • ? ?
  • {? ?
  • ? ?
  • root?/data/www;? ?
  • ? ?
  • #expires定義用戶瀏覽器緩存的時間為3天,如果靜態頁面不常更新,可以設置更長,這樣可以節省帶寬和緩解服務器的壓力? ?
  • ? ?
  • expires??????3d;? ?
  • ? ?
  • }?
  • 總結

    以上是生活随笔為你收集整理的Nginx+Tomcat负载均衡配置的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。