nginx+雙tomcat集群負載均衡(一臺機器)

 2023-10-08 阅读 17 评论 0

摘要:nginx簡介Nginx ("engine x") 是一個高性能的 HTTP 和反向代理服務器,也是一個 IMAP/POP3/SMTP 代理服務器。 Nginx 是由 Igor Sysoev 為俄羅斯訪問量第二的 Rambler.ru 站點開發的,第一個公開版本0.1.0發布于2004年10月4日。其將源代碼以類BSD許可證的

nginx簡介

Nginx ("engine x") 是一個高性能的 HTTP 反向代理服務器,也是一個 IMAP/POP3/SMTP 代理服務器 Nginx 是由 Igor Sysoev 俄羅斯訪問量第二的 Rambler.ru 站點開發的,第一個公開版本0.1.0發布于2004104日。其將源代碼以類BSD許可證的形式發布,因它的穩定性、豐富的功能集、示例配置文件和低系統資源的消耗而聞名。

下面是采用一臺機器nginx+tomcat集群負載均衡方案。當更新項目時可以停止tomcat1,在啟動,接著停止別外一個tomcat2,這樣可以不會讓客戶感覺你在停止項目更新。這是為了節約成本的情況下,有效方案。通過這方案可以演變更多tomcat集群,只是把tomcat放在不同的服務器里,把nginx配置的里的反向代理ip修改一下。后期會寫一個高可用的tomcat方案。

1.安裝jdk64位系統

下裁jdk-6u45-linux-x64.bin

[root@tomcat135 ~]# ls

anaconda-ks.cfg????????????? install.log???????????? nginx-1.2.8.tar.gz

apache-tomcat-6.0.18.tar.gz? install.log.syslog????? pcre-7.9.tar.gz

Desktop????????????????????? jdk-6u45-linux-x64.bin

[root@tomcat135 ~]# chmod +x jdk-6u45-linux-x64.bin

[root@tomcat135 ~]# ./jdk-6u45-linux-x64.bin

[root@tomcat135 ~]# mv jdk1.6.0_45 /opt/jdk

配置jdk在環境變量中/etc/profile

[root@tomcat135 ~]# vi /etc/profile

在最后增加

JAVA_HOME=/opt/jdk

PATH=$JAVA_HOME/bin:$PATH

CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

export JAVA_HOME

export PATH

export CLASSPATH

export LC_ALL="zh_CN.GB18030"? #解決中文亂碼問題

[root@tomcat135 ~]# source? /etc/profile

查是否配置成功

[root@tomcat135 ~]# java -version

java version "1.6.0_45"

Java(TM) SE Runtime Environment (build 1.6.0_45-b06)

Java HotSpot(TM) 64-Bit Server VM (build 20.45-b01, mixed mode)

以上說明成功了

2.安裝與配置tomcat

下裁apache-tomcat-6.0.18.tar.gz

[root@tomcat135 ~]# tar zxvf ?apache-tomcat-6.0.18.tar.gz

?

解壓之后拷貝兩個tomcat

創建項目目錄為www

[root@tomcat135 ~]# mkdir -p /web/www

?

[root@tomcat135 ~]# cp? -r apache-tomcat-6.0.18 /opt/tomcat1

[root@tomcat135 ~]# cp? -r apache-tomcat-6.0.18 /opt/tomcat2

配置tomcat

[root@tomcat135 ~]# cd /opt/tomcat1/conf/

?

tomcat1tomcat2的配置一樣,只有端口不一樣。

[root@tomcat135 conf]# vi server.xml

?

<Host> </Host>之間都都要增加

<Context path="" docBase="/web/www" >

????????? <Manager className="org.apache.catalina.session.PersistentManager" debug="0" saveOnRestart="true" maxActiveSessions="-1" minIdleSwap="-1" maxIdleSwap="-1" maxIdleBackup="-1" >

?????????????????? <Store className="org.apache.catalina.session.FileStore" directory="sessions"/>

?????????????????? </Manager>

?</Context>

?

找到<Connector port="8080" protocol="HTTP/1.1"

?????????????? connectionTimeout="20000"

?????????????? redirectPort="8443" />

8080端口修改成8071

tomcat2端口修改成8072

?

找到<Server port="8005" shutdown="SHUTDOWN">

<Connector port="8010" protocol="AJP/1.3" redirectPort="8443" />修改成不同端口,不然會出錯

啟動tomcat1

[root@tomcat135 tomcat1]# cd /opt/tomcat1/bin/

[root@tomcat135 bin]# sh startup.sh

啟動tomcat2

[root@tomcat135 bin]# cd /opt/tomcat2/bin/

[root@tomcat135 bin]# sh startup.sh

?

查看是否啟動

[root@tomcat135 bin]# ps aux | grep tomcat

avahi???? 3813? 0.0? 0.0? 23292? 1412 ???????? Ss?? 16:58?? 0:00 avahi-daemon: running [tomcat135.local]

root??? ??4296? 6.7? 3.1 846344 65548 pts/1??? Sl?? 17:28?? 0:08 /opt/jdk/bin/java -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.util.logging.config.file=/opt/tomcat1/conf/logging.properties -Djava.endorsed.dirs=/opt/tomcat1/endorsed -classpath :/opt/tomcat1/bin/bootstrap.jar -Dcatalina.base=/opt/tomcat1 -Dcatalina.home=/opt/tomcat1 -Djava.io.tmpdir=/opt/tomcat1/temp org.apache.catalina.startup.Bootstrap start

root????? 4335? 156? 2.9 917648 61604 pts/1??? Sl?? 17:30?? 0:07 /opt/jdk/bin/java -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.util.logging.config.file=/opt/tomcat2/conf/logging.properties -Djava.endorsed.dirs=/opt/tomcat2/endorsed -classpath :/opt/tomcat2/bin/bootstrap.jar -Dcatalina.base=/opt/tomcat2 -Dcatalina.home=/opt/tomcat2 -Djava.io.tmpdir=/opt/tomcat2/temp org.apache.catalina.startup.Bootstrap start

root????? 4361? 0.0? 0.0? 63460?? 816 pts/1??? S+?? 17:30?? 0:00 grep tomcat

[root@tomcat135 bin]# netstat -tunlp

tcp??????? 0????? 0 :::8071???????????????????? :::*??????????????????????? LISTEN????? 4296/java??????????

tcp??????? 0????? 0 :::8072????? ???????????????:::*??????????????????????? LISTEN????? 4386/java?

?

說明以上啟動成功

4.安裝nginx

安裝nginx依賴包

yum -y install gcc gcc-c++

下載pcre-7.9.tar.gz

[root@tomcat135 ~]# tar zxvf pcre-7.9.tar.gz

[root@tomcat135 ~]# cd pcre-7.9

[root@tomcat135 pcre-7.9]# ./configure

[root@tomcat135 pcre-7.9]# make && make install

安裝nginx

下載nginx-1.2.8.tar.gz

[root@tomcat135 ~]# tar zxvf nginx-1.2.8.tar.gz

[root@tomcat135 ~]# cd nginx-1.2.8

[root@tomcat135 nginx-1.2.8]# ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module

?

[root@tomcat135 nginx-1.2.8]# make && make install

配置nginx

[root@tomcat135 nginx-1.2.8]# vi /usr/local/nginx/conf/nginx.conf

?

#user? nobody;

worker_processes? 4;? #根據CPU線程來配置相關參數

?

error_log? logs/error.log;

pid??????? logs/nginx.pid;

worker_rlimit_nofile 65535;

events {

??? worker_connections? 65535;

}

http {

??? include?????? mime.types;

??? default_type? application/octet-stream;

??? server_names_hash_bucket_size 128;?

??? client_header_buffer_size 32k;?

??? large_client_header_buffers 4 32k;

??? client_max_body_size 8m;

??? sendfile??????? on;

??? tcp_nopush???? on;

??? keepalive_timeout? 150;

??? tcp_nodelay on;

??? gzip? on;

??? gzip_min_length? 1k;

??? gzip_buffers???? 4 16k;

??? gzip_http_version 1.0;?

??? gzip_comp_level 2;??

?? gzip_types?????? text/plain application/x-javascript text/css application/xml;

?? gzip_vary on;

?? server_tokens off;

?? upstream tomcatweb {

???? server 172.19.0.135:8071;

???? server 172.19.0.135:8072;

}

server{

???????? listen 80;

???????? server_name? www.test.com;?

???????? location / {?

?????????????????? root?? html;???????

?????????????????? index? index.html index.htm;

?????????????????? proxy_redirect off;??????

?????????????????? 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://tomcatweb;

???????? }

???????? error_page?? 500 502 503 504? /50x.html;?????

???????? location = /50x.html {???

???????? root?? html;??????

???????? }??

?? }

}

?

啟動nginx

[root@tomcat135 nginx-1.2.8]# /usr/local/nginx/sbin/nginx

?

[root@tomcat135 nginx-1.2.8]# netstat -tunlp

tcp??????? 0????? 0 0.0.0.0:80????????????????? 0.0.0.0:*?????????????????? LISTEN????? 10527/nginx

說明啟動成功

?

測試是否成功

IE瀏覽器訪問http://172.19.0.135/

/web/www/下增加

[root@tomcat135 www]# cat index.html

11111111111111111111111111成功

?

?

如果能訪問到11111111111111111111111111成功

一切安裝好了,你可以把項目上傳到/web/www

?

?

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/2/132401.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息