设为首页 收藏本站
查看: 699|回复: 0

[经验分享] mod_jk+tomcat+tomcat集群+session共享

[复制链接]

尚未签到

发表于 2018-11-30 10:38:33 | 显示全部楼层 |阅读模式
mod_jk+tomcat+tomcat集群+session共享
一、安装JDK
1.1、修改安装文件权限
chmod +x /var/1/jdk-6u25-linux-x64-rpm.bin
1.2、对安装文件解包并安装
./jdk-6u25-ea-bin-b03-linux-i586-27_feb_2011-rpm.bin
1.3、修改JDK文件夹目录名
ln –s /usr/java/jdk1.6.0_25 /usr/java/jdk
1.4增加环境变量
vi /etc/profile(最后加入)
export JAVA_HOME=/usr/java/jdk
export PATH=$PATH:$JAVA_HOME/bin:$PATH:$JAVA_HOME/jre/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/jre/lib
export CATALINA_HOME=/usr/local/tomcat
export CATALINA_BASE=/usr/local/tomcat
1.5刷新profile
source /etc/profile
二、安全访问权限设置
2.1修改系统访问权限
(如果IPTABLES关闭了就不需要此部了 
关闭方法:chkconfig --level 2345 iptables off )
2.2修改IPtables 让其它机器可访问tomcat测试网站
/sbin/iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT
/sbin/iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 8009 -j ACCEPT
/sbin/iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 8005 -j ACCEPT
/sbin/iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
/sbin/iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 4001 -j ACCEPT(集群需要)
/sbin/iptables save
三、安装TOMCAT
3.1、解开解压包
tar -zxvf /var/1/apache-tomcat-6.0.28.tar.gz
3.2、复制文件夹到指定目录
mv /var/1/apache-tomcat-6.0.28 /usr/local/tomcat
3.3、对所有执行程序增加权限
chmod 744 /usr/local/tomcat/bin/*.sh
3.4、启动TOMCAT
/usr/local/tomcat/bin/startup.sh
3.5、查看服务是否启动
netstat -tnl 查询是否有8080端口启动
3.6、打开测试
http://服务器IP:8080
------------------------------------------------------------------------
设置APACHE和TOMCAT开机自动启动功能

APACHE开机自动启动
chkconfig --level 345 httpd on
chkconfig --list | grep httpd
四、配置tomcat自动运行
4.1、移动安装文件位置
mv /var/1/jsvc.tar.gz /usr/local/tomcat/bin
4.2、解压 jsvc.tar.gz
tar -zxvf jsvc.tar.gz
4.3、安装前编译
yum –y install autoconf (安装前检查一下是否安装)
cd jsvc-src 进入解压后的jsvc-src文件夹
chmod 755 /usr/local/tomcat/bin/jsvc-src/support/*.sh
/usr/local/tomcat/bin/jsvc-src/support/buildconf.sh 执行support下的buildconf.sh
chmod 755 /usr/local/tomcat/bin/jsvc-src/configure
4.4、安装
cd /usr/locol/tomcat/bin/jsvc-src/
#./configure --with-java=/usr/java/jdk      (改成你的JDK的位置 )
#make
4.5、增加tomcat脚本执行用户
useradd tomcat    添加用户
设置用户tomcat对tomcat根目录的权限  
chown -R tomcat:tomcat /usr/local/tomcat/
4.6、移动文件tomcat5.sh到/etc/init.d/里面并改名为tomcat
cp /usr/local/tomcat/bin/jsvc-src/native/Tomcat5.sh /etc/init.d/tomcat
4.7、给脚本文件赋于执行权
chmod 755 /etc/init.d/tomcat 赋予脚本755的权限
4.8、编译可执行脚本的参数
vi /etc/init.d/tomcat
vi Tomcat
替换如下为如下内容
#!/bin/bash

#chkconfig:2345 10 90

#description: Starts and Stops the Tomcat daemon.

. /etc/init.d/functions

JAVA_HOME=/usr/java/jdk
CATALINA_HOME=/usr/local/tomcat
DAEMON_HOME=/usr/local/tomcat
TOMCAT_USER=tomcat

# for multi instances adapt those lines.
TMP_DIR=/var/tmp
PID_FILE=/var/run/jsvc.pid
CATALINA_BASE=/usr/local/tomcat

CATALINA_OPTS="-Xms1024m -Xmx2048m -Xmn256m -Djava.awt.headless=true -Dsolr.solr.home=/usr/local/tomcat/solr"(加载solr位置)
CLASSPATH=\
$JAVA_HOME/lib/tools.jar:\
$CATALINA_HOME/bin/commons-daemon.jar:\
$CATALINA_HOME/bin/bootstrap.jar

case "$1" in
start)
    #
    # Start Tomcat
    #
    $DAEMON_HOME/bin/jsvc-src/jsvc \
    -user $TOMCAT_USER \
    -home $JAVA_HOME \
    -Dcatalina.home=$CATALINA_HOME \
    -Dcatalina.base=$CATALINA_BASE \
    -Djava.io.tmpdir=$TMP_DIR \
   -wait 10 \
    -pidfile $PID_FILE \
    -outfile $CATALINA_HOME/logs/catalina.out \
    -errfile '&1' \
    $CATALINA_OPTS \
    -cp $CLASSPATH \
    org.apache.catalina.startup.Bootstrap
    #
    # To get a verbose JVM
    #-verbose \
    # To get a debug of jsvc.
    #-debug \
    exit $?
    ;;

stop)
    #
    # Stop Tomcat
    #
    $DAEMON_HOME/bin/jsvc/jsvc \
    -stop \
    -pidfile $PID_FILE \
    org.apache.catalina.startup.Bootstrap
    exit $?
    ;;

   restart)
      #
   # Stop Tomcat
    #
$DAEMON_HOME/bin/jsvc/jsvc -stop -pidfile $PID_FILE org.apache.catalina.startup.Bootstrap
sleep 1
$DAEMON_HOME/bin/jsvc/jsvc \
    -user $TOMCAT_USER \
    -home $JAVA_HOME \
    -Dcatalina.home=$CATALINA_HOME \
    -Dcatalina.base=$CATALINA_BASE \
    -Djava.io.tmpdir=$TMP_DIR \
    -wait 10 \
    -pidfile $PID_FILE \
    -outfile $CATALINA_HOME/logs/catalina.out \
    -errfile '&1' \
    $CATALINA_OPTS \
    -cp $CLASSPATH \
    org.apache.catalina.startup.Bootstrap
    #
    # To get a verbose JVM
    #-verbose \
    # To get a debug of jsvc.
    #-debug \
    exit $?
    ;;   
*)
    echo "Usage tomcat.sh start/stop/restart"
    exit 1;;
esac
4.9、允许程序自动启动
运行命令
chkconfig --level 345 tomcat on
chkconfig --list | grep tomcat
五、APACHE和TOMCAT融合
5.1、解压链接器
tar zxvf /var/123/tomcat-connectors-1.2.32-src.tar
5.2、安装
cd /var/123/tomcat-connectors-1.2.32-src/native
./configure --with-apxs=/usr/sbin/apxs --with-java-home=/usr/java/jdk
make
make install
(检查mod_jk.so 文件是否已经安装进如果没有手动执行下面的命令)
cp /var/123/tomcat-connectors-1.2.32-src/native/apache-2.0/mod_jk.so /usr/local/apache/modules/
5.3、修改apache 配置文件
vi /etc/httpd/conf/httpd.conf
在DirectoryIndex中添加 index.jsp login.jsp

    DirectoryIndex index.html index.jsp login.jsp

在最后增加

SetHandler server-status
Order Deny,Allow
Deny from all
Allow from all


ServerLimit 20000
StartServers   5
MinSpareServers   5
MaxSpareServers   10
MaxClients   1000
MaxRequestsPerChild 0
Include /usr/local/apache/conf/mod_jk.conf



删除 #ServerName 前面的 #
显示为:ServerName外网地址或域名:80
将Listen 80 修改为 Listen 127.0.0.1:80
修改 AddDefaultCharset UTF-8 为
显示为 AddDefaultCharset GB2312(根据需要调整)
5.4、新增配置文件
增加耦合配置文件
vi /usr/local/apache/conf/mod_jk.conf
LoadModule jk_module modules/mod_jk.so
JKWorkersFile /usr/local/apache/conf/workers.properties
#JkMountFile /usr/local/apache/conf/uriworkermap.properties
JKShmFile /usr/local/apache/logs/mod_jk.shm
JKLogFile /usr/local/apache/logs/mod_jk.log
JKLogLevel warn
###### Set the jk log level [debug/error/info]
JKLogStampFormat "[%a %b %d %H:%M:%S %Y]"
JKOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
JkRequestLogFormat "%w %V %T"

#JkMount /servlet/* tomcat
JkMount /* tomcat
#JKMount /*.jsp tomcat
#JkMount /*.do tomcat
#JkMount /*.action tomcat
AddType application/x-jsp .jsp
AddType application/x-js .js
AddType application/x-css .css
addtype application/x-httpd-php .php
addtype application/x-httpd-php-source .phps
增加tomcat控制文件
vi /etc/httpd/conf/workers.properties
#workrers.tomcat_home=/usr/local/tomcat
workers.java_home=/usr/java/jdk
worker.list=tomcat
worker.tomcat.type=lb
worker.tomcat.error_escalation_time=0
worker.tomcat.max_reply_timeouts=10
ps=/
#===============s1===============
worker.s1.type=ajp13
worker.s1.host=192.168.122.2
worker.s1.port=8009
worker.s1.lbfactor=1
#worker.s1.activation=A
#worker.s1.socket_connect_timeout=500
#worker.s1.socket_keepalive=true
#worker.s1.ping_mode=A
#==============s2=================
worker.s2.type=ajp13
worker.s2.host=192.168.122.3
worker.s2.port=8009
worker.s2.lbfactor=1
#worker.s2.activation=A
#worker.s1.socket_connect_timeout=500
#worker.s1.socket_keepalive=true
#worker.s1.ping_mode=A

worker.retries=3
worker.tomcat.balanced_workers=s1,s2
worker.tomcat.sticky_session=1
worker.status.type=status

#worker.tomcat.lbfactor=50
#worker.tomcat.cachesize=10
#worker.worker1.cache_timeout=600
#worker.worker1.socket_keepalive=1
#worker.worker1.socket_timeout=300
增加uriworkermap.properties 文件(不使用TOMCAT管理的文件也可不增加但是必须注释掉mod_jk.conf)
vi /etc/httpd/conf/uriworkermap.properties

/*=tomcat
/jkstatus=status

!/*.gif=tomcat
!/*.jpg=tomcat
!/*.png=tomcat
!/*.css=tomcat
!/*.js=tomcat
!/*.htm=tomcat
!/*.html=tomcat
5.5、修改TOMCAT服务器文件
vi /usr/local/tomcat/conf/server.xml
在中增加(在主目录可直接访问JSP项目当然如果主目录中没有可以不加)

注释:path:是说明虚拟目录的名字,如果你要只输入ip 就显示主页,则该键值留为空;
docBase:虚拟目录的路径,如果为空的话指的是可以直接访问根目录
修改


修改

修改

(第一台为s1 第二台为s2)
增加集群配置

















新建日志目录及修改权限
mkdir /tmp/war-temp
mkdir /tmp/war-deploy
mkdir /tmp/war-listen
chown –R tomcat:tomcat /tmp/war-temp
chown –R tomcat:tomcat /tmp/ war-deploy
chown –R tomcat:tomcat /tmp/ war-deploy
重启 APACHE和TOMCAT
service httpd restart
service tomcat restart
--------------------------------------------------------------------------------
访问http://服务器IP地址
5.6、设置session复制选项
在项目中找到WEB-INF下的web.xml,如下

TomcatDemo


注意:在你的应用的web.xml加入  即可
如果所有项目都需要session复制修改/usr/local/tomcat/conf/context.xml
在中增加 distributable="true"变为

6、第二台服务器
6.1、增加第二个TOMCAT的环境变量(第二台机器在同一台机器上如果不是可按第5章安装)
vi /etc/profile
在最后增加
CATALINA_1_BASE=/usr/local/tomcat1
CATALINA_1_HOME=/usr/local/tomcat1
TOMCAT_1_HOME=/usr/local/tomcat1
export CATALINA_1_BASE CATALINA_1_HOME TOMCAT_1_HOME

6.2、修改TOMCAT中server.xml
vi /usr/local/tomcat/conf/server.xml
设置集群管理JvmRoute
在中增加

集群设置同上
  
6.3、复制一份TOMCAT
/usr/local/tomcat/bin/shutdown.sh 关闭服务
cp -rp /usr/local/tomcat /usr/local/tomcat1
6.4、修改TOMCAT1中server.xml
vi /usr/local/tomcat1/conf/server.xml
修改管理端口
#原为8005
#原为9080
  #原为9009
修改集群设置




  #修改监控端口













6.5、修改TOMCAT1的catalina.sh
vi /usr/local/tomcat1/bin/catalina.sh
将所有的CATALINA_BASE修改为$CATALINA_1_BASE
将所有的CATALINA_HOME修改为$CATALINA_1_HOME
6.6TOMCAT1开机自动启动功能
6.6.1、安装
cd /usr/locol/tomcat1/bin/jsvc-src/
#./configure --with-java=/usr/java/jdk      (改成你的JDK的位置 )
#make
6.6.2、增加tomcat脚本执行用户
设置用户tomcat对tomcat根目录的权限  
chown -R tomcat /usr/local/tomcat1/

6.6.3、移动文件tomcat5.sh到/etc/init.d/里面并改名为tomcat
cp /usr/local/tomcat1/bin/jsvc-src/native/Tomcat5.sh /etc/init.d/tomcat1


6.6.4、给脚本文件赋于执行权
chmod 755 /etc/init.d/tomcat1 赋予脚本755的权限
6.6.5、编译可执行脚本的参数
vi /etc/init.d/tomcat1
将文件中所有 CATALINA_HOME 更改为 CATALINA_1_HOME
将文件中所有DAEMON_HOME 更改为 DAEMON_1_HOME
检查文件路径参数
JAVA_HOME=/usr/java/jdk (注意)
CATALINA_1_HOME=/usr/local/tomcat1(注意)
DAEMON_1_HOME=/usr/local/tomcat1(注意)
TOMCAT_USER=tomcat(注意)
默认情况下使用那个用户启动TOMCAT程序
# for multi instances adapt those lines.
TMP_DIR=/var/tmp
PID_FILE=/var/run/jsvc.pid
CATALINA_1_BASE=/usr/local/tomcat1 (注意)
stop)
    #
    # Stop Tomcat1
    #
    $DAEMON_1_HOME/bin/jsvc-src/jsvc \ (注意)
    -stop \
    -pidfile $PID_FILE \
   org.apache.catalina.startup.Bootstrap
    exit $?
    ;;
*)
    echo "Usage tomcat1.sh start/stop"
    exit 1;;
esac
允许程序自动启动
修改脚本最上面的参数
#!/bin/bash
# chkconfig: 2346 11 91 #(修改)
# description: Starts and Stops the Tomcat daemon.
运行命令
chkconfig –level 345 tomcat1 on
重启系统
reboot
——————————————————————————————————————————————
最后打开网页测试
备注:ps –ef
      ps aux | grep tomcat
      lsof





运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-641501-1-1.html 上篇帖子: 普通用户启用tomcat 下篇帖子: Tomcat管理
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表