Linux下 Apache Httpd(负载均衡) + Jboss集群高可用部署(附带ActiveMQ+TOMCAT部署)
- 背景
- 安装环境
- 软件清单
- 第一部分 Linux常用命令
- 第二部分 部署条件
- 1.0 创建部署目录/opt/soft
- 1.2 设置文件句柄数
- 1.3 设置Linux的net.core.wmem_max和net.core.rmem_max,编辑/etc/sysctl.conf,在文件末尾添加一下内容:
- 1.4 修改系统时区
- 1.4.1 执行tzselect命令-->选择Asia-->选择China-->选择Beijing Time-->然后输入1。
- 1.4.2 编辑/etc/profile,在文件末尾添加以下内容
- 1.4.3 执行以下命令使设置生效
- 1.4.4 检查系统时区是否已经修改
- 1.5 关闭selinux
- 1.6 Host配置
- 1.6.1 查看hostname
- 1.6.2 修改/etc/sysconfig/network文件,把hostname设置为相应的httpserver、app01、app02等名称,如果httpserver与app01同一服务器则使用app01
- 1.6.3 重启系统
- 1.6.4 修改/etc/hosts文件,增加以下内容
- 1.6.5 修改客户端hosts文件,增加以下内容(可选)
- 1.7 安装JDK
- 1.8 环境变量配置
- 第三部分 安装部署Apache Httpd
- 2.1 默认信息
- 2.2 mod_cluster下载安装
- 2.2.1 下载mod_cluster-1.2.0.Final-linux2-x64-ssl.tar.gz,解压压缩包,在mod_cluster-1.2.0.Final-linux2-x64-ssl\opt\jboss\httpd\lib\httpd\modules下寻找:
- 2.2.1 这四个包是用来维护、管理Apache httpd与JBoss之间的连接、通信。将这四个动态包拷贝到Apache httpd 的modules 目录下,即/etc/httpd/modules下。
- 2.3 配置httpd.conf
- 2.3.1 编辑/etc/httpd/conf/httpd.conf
- 2.3.1.1 检查监听端口
- 2.3.1.2 注释掉httpd.conf中mod_proxy_balancer模块,因为此模块与mod_cluster相关模块不兼容:
- 2.3.1.3 修改ServerName
- 2.3.3 创建/etc/httpd/conf/jboss_cluster.conf,添加相应内容,让httpd监听在HttpServerIP:6666上
- 2.3.4 在/etc/httpd/conf/httpd.conf中使用Include把jboss_cluster.conf包含进来
- 2.4 httpd访问地址
- 2.5 mod_cluster_manager访问地址
- 第四部分 安装ActiveMQ(可选,根据业务需要进行部署)
- 3.1 在集群环境中ActiveMQ各自部署一份
- 3.2 linux下安装
- 3.2.1 copy apache-ActiveMQ-5.14.1.tar至/opt/soft
- 3.2.2 解压
- 3.2.3 编辑/opt/soft/apache-activemq-5.14.1/bin/activemq,在配置正文开头增加如下参数:
- 3.2.4 将ActiveMQ的启动文件放到系统启动目录下,并进行编辑
- 3.2.5 使activemq配置生效
- 3.2.6 把activemq配置为Linux服务,并为activemq设置权限
- 3.2.7 设置开机自启动
- 3.2.8 启动与停止
- 3.3 管理地址
- 第五部分 Tomcat安装部署(可选,根据业务需要进行部署)
- 4.1 安装Tomcat
- 4.1.1 把apache-tomcat-8.5.6.tar.gz复制到/opt/soft/
- 4.1.2 解压apache-tomcat-8.5.6.tar.gz
- 4.1.3 进入到/opt/soft/apache-tomcat-8.5.6/conf目录,编辑server.xml
- 4.1.5 进入到/opt/soft/apache-tomcat-8.5.6/bin目录启动tomcat
- 4.1.6 进入到/opt/soft/apache-tomcat-8.5.6/bin目录停止tomcat
- 4.2 配置Tomcat开机启动
- 第六部分 Jboss高可用部署
- 5.1 安装jboss
- 5.2 配置jboss环境变量
- 5.3 创建jboss管理员用户
- 5.3.1 使用root用户登录服务器
- 5.3.2 进入到目录/opt/soft/jboss-eap-7.0/bin
- 5.3.2 执行add-user.sh
- 5.3.4 选择a创建用户
- 5.3.5 输入用户名admin
- 5.3.6 密码admin
- 5.3.7 最后一步输入no
- 5.4 复制modules中的内容至/opt/soft/jboss-eap-7.0/modules,合并其内容
- 5.5 打开/opt/soft/jboss-eap-7.0/standalone/configuration/standalone-full-ha.xml进行编辑(详细步骤参考官方文档)
- 5.6 执行启动命令
- 5.7 jboss访问地址:
- 5.8 jboss控制台访问地址:(访问前请先通过jboss目录/bin/add-user.sh创建管理用户,本次创建的用户名和密码都为admin)
- 5.9 jboss服务化
- 5.9.1 用以下命令将编辑好的jboss-eap.conf复制到/etc/default目录
- 5.9.2 用以下命令将编辑好的jboss复制到/etc/init.d目录
- 5.9.3 用以下命令将jboss添加到自动启动项
- 5.9.4 用以下命令给jboss服务添加执行权限
- 5.9.5 使用以下命令启动jboss服务:
- 5.9.6 使用以下命令停止jboss服务:
- 5.9.7 使用以下命令将jboss服务添加到自动启动列表:
- 5.9.8 进入目录/opt/soft/jboss-eap-7.0/bin/,打开standalone.conf,找到JVM的JAVA_OPTS配置,修改内存大小
- 5.9.9 进入目录/opt/soft/jboss-eap-7.0/bin/,打开standalone.conf.bat,在文件末尾添加以下内容
背景
由于近期产品开发完成,部署需要基于Oracle Rac(Linux) + Httpd(负载均衡)+ Jboss(集群高可用)环境部署,把部署过程进行记录,大家可以参考。
安装环境
Red Hat Enterprise Linux 6.5
软件清单
jdk-8u60-linux-x64.tar.gz
httpd(Linux默认已安装,不需要)
apache-activemq-5.14.1-bin(可选,根据业务需要而定)
apache-tomcat-8.5.6.tar(可选,根据业务需要而定)
jboss-eap-7.0.0
第一部分 Linux常用命令
0.0 重启系统
shutdown -r now
临时关闭防火墙
service iptables stop
永久关闭防火墙
chkconfig iptables off
#chkconfig libvirtd off(不用加上)
0.1、日志监控
0.1.1 tail -f filename
说明:监视filename文件的尾部内容(默认10行,相当于增加参数 -n 10),刷新显示在屏幕上。退出,按下CTRL+C。
0.1.2 tail -n 20 filename
说明:显示filename最后20行。
0.1.3 tail -r -n 10 filename
说明:逆序显示filename最后10行。
0.2、端口扫描
netstat -ntpl
0.3 压缩、解压缩
0.3.1 压缩
tar -cvf jpg.tar *.jpg //将目录里所有jpg文件打包成tar.jpg
tar -czf jpg.tar.gz *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用gzip压缩,生成一个gzip压缩过的包,命名为jpg.tar.gz
tar -cjf jpg.tar.bz2 *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用bzip2压缩,生成一个bzip2压缩过的包,命名为jpg.tar.bz2
tar -cZf jpg.tar.Z *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用compress压缩,生成一个umcompress压缩过的包,命名为jpg.tar.Z
rar a jpg.rar *.jpg //rar格式的压缩,需要先下载rar for linux
zip jpg.zip *.jpg //zip格式的压缩,需要先下载zip for linux
0.3.2 解压
tar -xvf file.tar //解压 tar包
tar -xzvf file.tar.gz //解压tar.gz
tar -xjvf file.tar.bz2 //解压 tar.bz2
tar -xZvf file.tar.Z //解压tar.Z
unrar e file.rar //解压rar
unzip file.zip //解压zip
0.4 服务
启动服务 service servicename start
停止服务 service servicename stop
重启服务 service servicename restart
查看状态 service servicename status
第二部分 部署条件
1.0 创建部署目录/opt/soft
1.1 关闭防火墙
chkconfig iptables off
1.2 设置文件句柄数
1.2.1 编辑/etc/profile,在文件末尾添加以下内容
ulimit -n 65535
1.2.2 保存关闭,并重启系统
shutdown -r now
1.2.3 检查文件句柄数设置是否成功
ulimit -a
1.3 设置Linux的net.core.wmem_max和net.core.rmem_max,编辑/etc/sysctl.conf,在文件末尾添加一下内容:
net.core.rmem_max=26214400 #改为25MB,目的是为了与receive buffer of socket ManagedMulticastSocketBinding缓冲区相同
net.core.wmem_max=1048576
1.4 修改系统时区
1.4.1 执行tzselect命令–>选择Asia–>选择China–>选择Beijing Time–>然后输入1。
1.4.2 编辑/etc/profile,在文件末尾添加以下内容
TZ='Asia/Shanghai'
export TZ
1.4.3 执行以下命令使设置生效
source /etc/profile
1.4.4 检查系统时区是否已经修改
date -R
1.5 关闭selinux
1.5.1 查看SELinux状态
1.5.1.1 /usr/sbin/sestatus -v ##如果SELinux status参数为enabled即为开启状态
SELinux status: enabled
1.5.1.2 getenforce ##也可以用这个命令检查
1.5.2 关闭SELinux
1.5.2.1 修改/etc/selinux/config文件,
将SELINUX=enforcing改为SELINUX=disabled
1.5.2.2 重启系统
shutdown -r now
1.6 Host配置
1.6.1 查看hostname
hostname
1.6.2 修改/etc/sysconfig/network文件,把hostname设置为相应的httpserver、app01、app02等名称,如果httpserver与app01同一服务器则使用app01
HOSTNAME=httpserver
HOSTNAME=app01
HOSTNAME=app02
1.6.3 重启系统
shutdown -r now
1.6.4 修改/etc/hosts文件,增加以下内容
192.168.0.1 httpserver
192.168.0.2 app01
192.168.0.3 app02
1.6.5 修改客户端hosts文件,增加以下内容(可选)
192.168.0.1 httpserver
192.168.0.2 app01
192.168.0.3 app02
1.7 安装JDK
1.7.1 复制jdk-8u60-linux-x64.tar.gz至/opt/soft
1.7.2 解压jdk-8u60-linux-x64.tar.gz
tar -xzvf jdk-8u60-linux-x64.tar.gz
1.8 环境变量配置
1.8.1 文件路径/root/.bashrc,使用vi打开,并增加以下内容
export JAVA_HOME=/opt/soft/jdk1.8.0_60
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar
export JBOSS_HOME=/opt/soft/jboss-eap-7.0
export PATH=$JBOSS_HOME/bin:$PATH
1.8.2 保存退出,并执行一下命令,使更改生效
source /root/.bashrc
第三部分 安装部署Apache Httpd
2.1 默认信息
2.1.0 默认安装位置
2.1.0.0 默认安装位置 /etc/httpd
2.1.0.1 默认配置文件位置 /etc/httpd/conf
2.1.1 常用操作
2.1.1.1、查看有没有安装httpd
rpm -qa|grep httpd
2.1.1.2、查看httpd的服务状态
chkconfig --list|grep httpd
2.1.2 启动、停止、重启服务(root身份,可以sudo执行)
service httpd start
service httpd stop
service httpd restart
2.1.3 添加httpd服务为开机启动
chkconfig httpd on(设置开机启动)
chkconfig --list httpd
2.1.4 查看端口占用
netstat -ntpl
2.2 mod_cluster下载安装
2.2.1 下载mod_cluster-1.2.0.Final-linux2-x64-ssl.tar.gz,解压压缩包,在mod_cluster-1.2.0.Final-linux2-x64-ssl\opt\jboss\httpd\lib\httpd\modules下寻找:
mod_advertise.so
mod_manager.so
mod_proxy_cluster.so
mod_slotmem.so
2.2.1 这四个包是用来维护、管理Apache httpd与JBoss之间的连接、通信。将这四个动态包拷贝到Apache httpd 的modules 目录下,即/etc/httpd/modules下。
2.3 配置httpd.conf
2.3.1 编辑/etc/httpd/conf/httpd.conf
2.3.1.1 检查监听端口
Listen 80
2.3.1.2 注释掉httpd.conf中mod_proxy_balancer模块,因为此模块与mod_cluster相关模块不兼容:
#LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
2.3.1.3 修改ServerName
ServerName httpserver:80
2.3.3 创建/etc/httpd/conf/jboss_cluster.conf,添加相应内容,让httpd监听在HttpServerIP:6666上
Listen HttpServerIP:6666 HttpServerIP为httpd所在服务器的ip
<VirtualHost HttpServer:6666> HttpServerIP为httpd所在服务器的ip
AdvertiseGroup 224.0.1.108:23333 224.0.1.108为组播地址,与standalone-full-ha.xml中的组播地址一致,端口号也要一致
AdvertiseBindAddress 224.0.1.108:23333 224.0.1.108为组播地址,与standalone-full-ha.xml中的组播地址一致,端口号也要一致
2.3.4 在/etc/httpd/conf/httpd.conf中使用Include把jboss_cluster.conf包含进来
2.4 httpd访问地址
http://x.x.x.x:80
2.5 mod_cluster_manager访问地址
http://x.x.x.x:6666/mod_cluster_manager
第四部分 安装ActiveMQ(可选,根据业务需要进行部署)
3.1 在集群环境中ActiveMQ各自部署一份
3.2 linux下安装
3.2.1 copy apache-ActiveMQ-5.14.1.tar至/opt/soft
3.2.2 解压
tar -xvf apache-activemq-5.14.1.tar
3.2.3 编辑/opt/soft/apache-activemq-5.14.1/bin/activemq,在配置正文开头增加如下参数:
export JAVA_HOME=/opt/soft/jdk1.8.0_60
export ACTIVEMQ_HOME=/opt/soft/apache-activemq-5.14.1
3.2.4 将ActiveMQ的启动文件放到系统启动目录下,并进行编辑
cp /opt/soft/apache-activemq-5.14.1/bin/activemq /etc/init.d/activemq
3.2.5 使activemq配置生效
source /etc/init.d/activemq
3.2.6 把activemq配置为Linux服务,并为activemq设置权限
chkconfig --add activemq
chmod 755 /etc/rc.d/init.d/activemq
chmod 777 -R /opt/soft/apache-activemq-5.14.1
3.2.7 设置开机自启动
chkconfig activemq on
3.2.8 启动与停止
service activemq start
service activemq stop
3.3 管理地址
http://x.x.x.x:8161/admin/
默认用户名/密码:admin/admin
第五部分 Tomcat安装部署(可选,根据业务需要进行部署)
4.1 安装Tomcat
4.1.1 把apache-tomcat-8.5.6.tar.gz复制到/opt/soft/
4.1.2 解压apache-tomcat-8.5.6.tar.gz
tar -xzvf apache-tomcat-8.5.6.tar.gz
4.1.3 进入到/opt/soft/apache-tomcat-8.5.6/conf目录,编辑server.xml
修改8080端口为8081,防止与jboss的端口号发生冲突
修改8009端口为8109,防止与jboss的端口号发生冲突
4.1.5 进入到/opt/soft/apache-tomcat-8.5.6/bin目录启动tomcat
./startup.sh 启动Tomcat,生成FTPCAdmin文件夹
4.1.6 进入到/opt/soft/apache-tomcat-8.5.6/bin目录停止tomcat
./shutdown.sh
4.2 配置Tomcat开机启动
4.2.1 在/etc/init.d目录下创建tomcat,并编辑以下内容(确保文件格式为unix)
4.2.2 并为tomcat增加执行权限
chmod 755 /etc/init.d/tomcat
4.2.3 /opt/soft/apache-tomcat-8.5.6/bin中的catalina.sh文件中的大概99行出在OS specific support前面加上:
export JAVA_HOME=/opt/soft/jdk1.8.0_60
export CATALINA_HOME=/opt/soft/apache-tomcat-8.5.6
export CATALINA_BASE=/opt/soft/apache-tomcat-8.5.6
export CATALINA_TMPDIR=/opt/soft/apache-tomcat-8.5.6/temp
4.2.4 对catalina.sh增加执行权限
chmod 755 catalina.sh
4.2.5 将tomcat添加到服务中,命令为
chkconfig --add tomcat
chkconfig tomcat on
4.2.6 重启系统
shutdown -r now
4.2.7 访问地址
http://x.x.x.x:8081
第六部分 Jboss高可用部署
5.1 安装jboss
5.1.1 复制jboss-eap-7.0.0.zip至/opt/soft
5.1.2 进入/opt/soft,解压jboss-eap-7.0.0.zip
unzip jboss-eap-7.0.0.zip
5.2 配置jboss环境变量
5.2.1 编辑/root/.bashrc,增加以下内容
export JBOSS_HOME=/opt/soft/jboss-eap-7.0
export PATH=$JBOSS_HOME/bin:$PATH
5.2.2 使配置生效
source /root/.bashrc
5.3 创建jboss管理员用户
5.3.1 使用root用户登录服务器
5.3.2 进入到目录/opt/soft/jboss-eap-7.0/bin
5.3.2 执行add-user.sh
./add-user.sh
5.3.4 选择a创建用户
5.3.5 输入用户名admin
5.3.6 密码admin
5.3.7 最后一步输入no
for a Remoting connection for server to server EJB calls. yes/no? no
5.4 复制modules中的内容至/opt/soft/jboss-eap-7.0/modules,合并其内容
5.5 打开/opt/soft/jboss-eap-7.0/standalone/configuration/standalone-full-ha.xml进行编辑(详细步骤参考官方文档)
注意:开发和测试服务器应该编辑standalone-full.xml
5.5.1 修改日志级别为WARN
5.5.2 修改datasource和driver
5.5.3 修改IP地址
5.5.4 修改activemq配置
5.5.5 配置集群
5.6 执行启动命令
5.2.1 切换至JBoss安装目录/bin
5.2.2 执行启动命令
./standalone.sh -c standalone-full-ha.xml -b x.x.x.x
其中x.x.x.x为standalone-full-ha.xml中配置的bind-address,就是替换所有的127.0.0.1的那个地址,也就是本机IP
5.7 jboss访问地址:
http://x.x.x.x:8080
5.8 jboss控制台访问地址:(访问前请先通过jboss目录/bin/add-user.sh创建管理用户,本次创建的用户名和密码都为admin)
http://x.x.x.x:9990/console
5.9 jboss服务化
5.9.1 用以下命令将编辑好的jboss-eap.conf复制到/etc/default目录
sudo cp jboss-eap.conf /etc/default
修改JAVA_OPTS="-b x.x.x.x",修改绑定的IP为本机IP
5.9.2 用以下命令将编辑好的jboss复制到/etc/init.d目录
sudo cp jboss /etc/init.d
5.9.3 用以下命令将jboss添加到自动启动项
sudo chkconfig --add jboss
5.9.4 用以下命令给jboss服务添加执行权限
sudo chmod 777 /etc/init.d/jboss
sudo chmod 777 /opt/soft/jboss-eap-7.0/bin/standalone.sh
5.9.5 使用以下命令启动jboss服务:
sudo service jboss start
systemctl start jboss.service (red 7) sudo service jboss start
5.9.6 使用以下命令停止jboss服务:
sudo service jboss stop
systemctl stop jboss.service (red 7) sudo service jboss stop
5.9.7 使用以下命令将jboss服务添加到自动启动列表:
sudo chkconfig jboss on
5.9.8 进入目录/opt/soft/jboss-eap-7.0/bin/,打开standalone.conf,找到JVM的JAVA_OPTS配置,修改内存大小
把JAVA_OPTS="-Xms1303m -Xmx2048m -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=256m -Djava.net.preferIPv4Stack=true"
改为JAVA_OPTS="-Xms2048m -Xmx4096m -XX:MetaspaceSize=256M -XX:MaxMetaspaceSize=2048m -Djava.net.preferIPv4Stack=true"
5.9.9 进入目录/opt/soft/jboss-eap-7.0/bin/,打开standalone.conf.bat,在文件末尾添加以下内容
set "JAVA_OPTS=%JAVA_OPTS% -Dorg.apache.activemq.SERIALIZABLE_PACKAGES=*"