Resin集群及雙機備份方案(resin集群+冷備)
作者:darkblue
有兩臺服務器
主機名:web-srv
內網IP:10.199.55.1
外網IP:121.183.173.225
域名:web.xxxx.com
主機名:wap-srv
內網IP:10.199.55.3
外網IP:121.183.173.226
域名:wap.xxxx.com
防火墻:PIX525,服務器OS:RedHat ES4U2
需求:
web-srv和wap-srv均使用apache2+resin3.1.2提供http服務,監聽端口都是80。
1、當兩臺主機都正常運作的時候,通過resin來實現負載均衡,web-srv的80端口提供web服務,wap-srv的80端口提供wap服務;
2、當web-srv宕機后,手工啟用wap-srv上面的另一個apache進程,監聽8080端口,提供web服務,這個時候兩個公網IP同時指向一個私網IP10.199.55.3,結果是:80端口提供的是wap服務,8080端口提供的是web服務;
3、當wap-srv宕機后,手工啟用web-srv上面的另一個apache進程,監聽8080端口,提供wap服務,這個時候兩個公網IP同時指向一個私網IP10.199.55.1,結果是:80端口提供的是web服務,8080端口提供的是wap服務;
配置:
一、DNS
增加兩條紀錄,分別是121.183.173.225 <---> web.xxxx.com,121.183.173.226 <---> wap.xxxx.com。
二、web-srv
2.1 安裝apache2、resin-3.1.0
安裝apache2略
安裝resin-3.1.0
Wget “http://www.caucho.com/download/resin-3.1.0.tar.gz”
Cp resin-3.1.0.tar.gz /usr/local/
Tar –xzvf resin-3.1.0.tar.gz
cd resin-3.1.0
./ configure --with-apache=/usr/local/apache2
Make
Make install
2.2 準備配置文件和目錄
copy /usr/local/apache2/conf/httpd.conf httpdweb.conf
copy /usr/local/apache2/conf/httpd.conf httpdwap.conf
mkdir /usr/local/apache2/htdocs/web
mkdir /usr/local/apache2/htdocs/wap
cp -r /usr/local/resin-3.1.0 /usr/local/resin-web
cp -r /usr/local/resin-3.1.0 /usr/local/resin-wap
2.3 修改httpdweb.conf的監聽端口(80)和web的路徑
file: /usr/local/apache2/conf/httpdweb.conf
ResinConfigServer 10.199.55.3 6802
ResinConfigServer 10.199.55.1 6802
CauchoConfigCacheDirectory /tmp
CauchoStatus yes
2.4 修改httpdwap.conf的監聽端口(8080)和wap的路徑
file: /usr/local/apache2/conf/httpdweb.conf
ResinConfigServer 10.199.55.3 6803
ResinConfigServer 10.199.55.1 6803
CauchoConfigCacheDirectory /tmp
CauchoStatus yes
2.5 修改resin3.1.2的集群和相關的java配置
file: /usr/local/resin-web/conf/resin.conf
<cluster>
<server id="10.199.55.1" address="10.199.55.1" port="6802">
………………
</cluster>
file: /usr/local/resin-wap/conf/resin.conf
<cluster>
<server id="10.199.55.1" address="10.199.55.1" port="6803">
………………
</cluster>
2.6 啟動apache和resin
apache2
/usr/local/apache2/bin/httpd -f ./conf/httpdweb.conf
/usr/local/apache2/bin/httpd -f ./conf/httpdwap.conf
resin
/usr/local/resin-web/bin/httpd.sh -server 10.199.55.1 start
/usr/local/resin-wap/bin/httpd.sh -server 10.199.55.1 start
三、wap-srv
3.1 安裝apache2、resin-3.1.0
安裝apache2略
安裝resin-3.1.0
Wget “http://www.caucho.com/download/resin-3.1.0.tar.gz”
Cp resin-3.1.0.tar.gz /usr/local/
Tar –xzvf resin-3.1.0.tar.gz
cd resin-3.1.0
./ configure --with-apache=/usr/local/apache2
Make
Make install
3.2 準備配置文件和目錄
copy /usr/local/apache2/conf/httpd.conf httpdweb.conf
copy /usr/local/apache2/conf/httpd.conf httpdwap.conf
mkdir /usr/local/apache2/htdocs/web
mkdir /usr/local/apache2/htdocs/wap
cp -r /usr/local/resin-3.1.0 /usr/local/resin-web
cp -r /usr/local/resin-3.1.0 /usr/local/resin-wap
3.3 修改httpdweb.conf的監聽端口(8080)和web的路徑
file: /usr/local/apache2/conf/httpdweb.conf
端口和目錄略
ResinConfigServer 10.199.55.3 6802
ResinConfigServer 10.199.55.1 6802
CauchoConfigCacheDirectory /tmp
CauchoStatus yes
3.4 修改httpdwap.conf的監聽端口(80)和wap的路徑
file: /usr/local/apache2/conf/httpdweb.conf
端口和目錄略
ResinConfigServer 10.199.55.3 6803
ResinConfigServer 10.199.55.1 6803
CauchoConfigCacheDirectory /tmp
CauchoStatus yes
3.5 修改resin3.1.2的集群和相關的java配置
file: /usr/local/resin-web/conf/resin.conf
<cluster>
<server id="10.199.55.3" address="10.199.55.3" port="6802">
………………
</cluster>
file: /usr/local/resin-wap/conf/resin.conf
<cluster>
<server id="10.199.55.3" address="10.199.55.3" port="6803">
………………
</cluster>
3.6 啟動apache和resin
apache2
/usr/local/apache2/bin/httpd -f ./conf/httpdweb.conf
/usr/local/apache2/bin/httpd -f ./conf/httpdwap.conf
resin
/usr/local/resin-web/bin/httpd.sh -server 10.199.55.3 start
/usr/local/resin-wap/bin/httpd.sh -server 10.199.55.3 start
四、防火墻的配置
因為web-srv和wap-srv只提供www服務,所以只需要對這兩個內外網的IP地址對做端口映射。
static (dmz,outside) tcp 121.183.173.225 www 10.199.55.1 www netmask 255.255.255.255
static (dmz,outside) tcp 121.183.173.226 www 10.199.55.3 www netmask 255.255.255.255
五、冷備的實現
5.1 當web-srv宕機后:
5.1.1 修改防火墻配置
no static (dmz,outside) tcp 121.183.173.225 www 10.199.55.1 www netmask 255.255.255.255
static (dmz,outside) tcp 121.183.173.225 www 10.199.55.3 8080 netmask 255.255.255.255
5.1.2 啟動wap-srv的第二個apache進程,監聽8080端口,提供web服務
/usr/local/apache2/bin/httpd -f ./conf/httpdweb.conf
用戶訪問http://web.xxxx.com將指向10.199.55.3:8080
5.2 當wap-srv宕機后:
5.2.1 修改防火墻配置
no static (dmz,outside) tcp 121.183.173.226 www 10.199.55.3 www netmask 255.255.255.255
static (dmz,outside) tcp 121.183.173.226 www 10.199.55.1 8080 netmask 255.255.255.255
5.2.2 啟動web-srv的第二個apache進程,監聽8080端口,提供wap服務
/usr/local/apache2/bin/httpd -f ./conf/httpdwap.conf
用戶訪問http://wap.xxxx.com將指向10.199.55.1:8080