天天看點

Jboss虛拟主機安裝部署指南

1. 環境說明:

x.x.x.137:應用伺服器,内網位址:192.168.1.137

x.x.x.180:資料庫伺服器,内網位址:192.168.1.180

資料庫伺服器和應用伺服器之間通信通過内網位址通信。

2. 作業系統

作業系統版本:Redhat AS 5

安裝:作業系統按照預設的安裝方式安裝,無特殊要求。

由于沒有硬體防火牆,是以需要安裝iptables,建議不要安裝selinux。

相關應用安裝到/opt目錄下,包括jdk、應用等。

3. 防火牆配置

防火牆政策:

隻 允許應用伺服器x.x.x.137(192.168.1.137)通路資料庫伺服器x.x.x.180(192.168.1.180)的3306端口,且 允許資料庫伺服器 x.x.x.180(192.168.1.180)能夠通路應用伺服器的x.x.x.137(192.168.1.137)的[1024,65535]端 口(socket連接配接的随機端口)。

配置方法:

在資料庫伺服器x.x.x.180上執行如下操作:

1) 直接修改iptables的配置檔案/etc/sysconfig/iptables

在:RH-Firewall-1-INPUT - [0:0]增加如下内容:

-A INPUT -p tcp -s x.x.x.137 --sport 1024:65535 -d x.x.x.180 --dport 3306 -m state --state NEW,ESTABLISHED -j ACCEPT

-A OUTPUT -p tcp -s x.x.x.180 --sport 3306 -d x.x.x.137 --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT

-A INPUT -p tcp -s 192.168.1.137 --sport 1024:65535 -d 192.168.1.180 --dport 3306 -m state --state NEW,ESTABLISHED -j ACCEPT

-A OUTPUT -p tcp -s 192.168.1.180 --sport 3306 -d 192.168.1.137 --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT

2) 重新開機iptables

service iptables restart

注意還要确認應用伺服器(x.x.x.137)上開通了80端口,允許從公網通路:

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT

4. 在域名伺服器上做域名位址映射

在域名伺服器上做映射,将e.yeeach.com映射到x.x.x.137位址,沒有做URL指向轉發

為了簡化代理商銷售人員記憶,避免記憶ip及複雜域名,是以采用二級域名+虛拟主機方式來實作此目标。

5. 安裝JDK

使用Java SE 6 Update 6版本

wget -O jdk-6u6-linux-i586.bin /

http://cds.sun.com/is-bin/INTERSHOP.enfinity/WFS/CDS-CDS_Developer-Site/en_US/-/USD/VerifyItem-Start/jdk-6u6-linux-i586.bin?BundledLineItemUUID=A_JIBe.mKjcAAAEZ.0gv8eBL&OrderID=dy5IBe.mH10AAAEZ70gv8eBL&ProductID=VXZIBe.ootIAAAEZTrBAkQve&FileName=/jdk-6u6-linux-i586.bin

chmod 755 jdk-6u6-linux-i586.bin

./jdk-6u6-linux-i586.bin  

mv  jdk1.6.0_06/ /opt/jdk

修改/etc/bashrc(或者也可以修改使用者的bash配置檔案:~/.bashrc_profile) ,在尾部增加如下内容:

export JAVA_HOME=/opt/jdk

export PATH=$JAVA_HOME/bin:$PATH

6. 安裝Jboss 4.2.2

wget http://jaist.dl.sourceforge.net/sourceforge/jboss/jboss-4.2.2.GA.zip

unzip jboss-4.2.2.GA.zip

mv jboss-4.2.2.GA  /opt

7. 增加Jboss APR支援

參看使用APR( Apache Portable Runtime)來提升jboss性能

wget http://www.jboss.org/file-access/default/members/jbossweb/freezone/dist/2.0.4.GA/jboss-native-2.0.4-linux2-x86-ssl.tar.gz

mkdir jboss-native

mv  jboss-native-2.0.4-linux2-x86-ssl.tar.gz  jboss-native/

cd jboss-native/

tar zxvf jboss-native-2.0.4-linux2-x86-ssl.tar.gz

mv  bin/META-INF/bin/linux2/x86/*  /opt/jboss-4.2.2.GA/bin/

mkdir /opt/jboss-4.2.2.GA/bin/native

cp –r bin/META-INF/lib/linux2/x86/*   /opt/jboss-4.2.2.GA/bin/native

8. 修改Jboss 參數

1) 修改JVM參數

修改bin/run.conf,修改參數:

if [ "x$JAVA_OPTS" = "x" ]; then

         JAVA_OPTS="-Xms512m -Xmx1024m -server -XX:MaxPermSize=300m -XX:MaxNewSize=300m -server -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000"

fi

2) 修改jboss-4.2.2.GA/server/default/deploy/jboss-web.deployer/server.xml,将

将8080修改為80

将${jboss.bind.address}修改為0.0.0.0,允許從eth0,eth1,lo都能夠通路jboss 80端口

  也可以在啟動參數中指定ip位址選項,指定綁定的ip位址:run.sh -b x.x.x.137      
9. 去除jboss的沖突包

由于jboss自身帶的hibernate-annotations.jar版本與項目使用的版本存在沖突,是以去除hibernate-annotations.jar包

mv /opt/jboss-4.2.2.GA/server/default/lib/hibernate-annotations.jar /opt/jboss-4.2.2.GA/server/default/lib/hibernate-annotations.jar.bak

10. 部署esales.war到/opt/jboss-4.2.2.GA/server/default/deploy

修改資料庫連接配接池等應用相關參數

11. 增加虛拟主機Host節點

在/opt/jboss-4.2.2.GA/server/default/deploy/jboss-web.deployer/server.xml 中的 Engine加一個 Host 節點,内容如下:

<Host name="esales" autoDeploy="false"         

      deployOnStartup="false" deployXML="false">

    <Alias>e.yeeach.com</Alias>

    <Valve className="org.apache.catalina.valves.AccessLogValve"

           prefix="esales" suffix=".log" pattern="common"         

           directory="${jboss.server.home.dir}/log"/>

    <DefaultContext cookies="true" crossContext="true" override="true"/>

</Host>

12. 在eSales應用中配置虛拟主機

在/opt/jboss-4.2.2.GA/server/default/deploy/esales.war/WEB-INF下建立檔案jboss-web.xml,内容如下:

<jboss-web>

    <context-root>/</context-root>

    <virtual-host>e.yeeach.com</virtual-host>

</jboss-web>