Tomcat部署Web应用方面的一些问题(多Tomcat、指定Java、字节码替换)

来源:互联网 发布:python pyqt5下载 编辑:程序博客网 时间:2024/05/29 11:17

这篇博文操作的系统环境为CentOS系统,目标是在该系统中部署一个Tomcat以及跑在该Tomcat上的一个Java Web应用。部署的系统环境有限制,主要表现在:该主机上已部署Tomcat,新部署的Tomcat应不影响原Tomcat及相应应用的访问;此外,系统上已安装某一版本的Java,已设置JAVA_HOME等环境变量,而当前应用依赖另一版本的Java,
因此需要在不影响原应用、环境变量配置的基础上解决依赖问题。

Tomcat安装

  安装前需准备好Java环境,配置好JAVA_HOME环境变量(jdk-7u67-linux-x64.rpm)。然后下载Tomcat程序,这里以apache-tomcat-7.0.42.tar.gz为例介绍,可以通过http://pan.baidu.com/s/1i39wjfZ下载。将Tomcat安装文件下载至/usr/local目录下,并解压,将目录名重命名为tomcat,因此Tomcat文件被安装至/usr/local/tomcat下。
  进入/usr/local/tomcat/conf目录,编写配置文件server.xml,修改Tomcat相关配置信息,比如端口号等。
  然后进入/usr/local/tomcat/bin目录下执行,开启和停止的命令分别是:

./startup.sh./shutdown.sh

为了便于管理该tomcat,可以将其做成系统服务,并随开机自启动,这样处理以后,可以通过service命令开启和关闭。具体做法是:

  • 在/etc/init.d/目录下创建一个系统服务,假如服务名为my_tomcat,则在/etc/init.d/下创建文件my_tomcat,文件内容如下;
    通过“chmod 777 my_tomcat”更改文件权限,使其具有可执行权限;
  • 然后通过“chkconfig –add my_tomcat”添加系统服务,添加完成后可以通过“chkconfig –list | grep my_tomcat”查看;
  • 通过“chkconfig my_tomcat on”设置开机自启动
#!/bin/bash# chkconfig: - 99 35#description: manage tomcatRETVAL=0start(){    echo 'Try to start My Tomcat'    cd /usr/local/tomcat/bin    ./startup.sh}stop(){    echo 'Try to stop My Tomcat'    cd /usr/local/tomcat/bin    ./shutdown.sh}# See how we were called.case "$1" in        start)                start                ;;        stop)                stop                ;;        restart)                stop                start                ;;esacexit $RETVAL

部署多个Tomcat

  首先是在一台主机上,在不影响原有Tomcat和应用的基础上部署新的Tomcat Web服务器,即部署多个Tomcat的问题。
  只要解决各Tomcat端口冲突的问题,就能实现多个Tomcat在同一台主机上运行,解决办法是配置Tomcat的端口信息,使各Tomcat运行过程中不发生端口冲突。需要关注的端口主要时以下几个默认端口:
8005 SHUTDOWN端口:
为避免冲突,看情况改成8006端口

<Server port="8006" shutdown="SHUTDOWN">

8080 访问端口
可改成其他端口

<Connector port="81" protocol="HTTP/1.1"               connectionTimeout="20000"               redirectPort="8443" />

8009 AJP端口
看情况可改成8010端口

<Connector port="8010" protocol="AJP/1.3" redirectPort="8443" />

  将上面三类端口修改后,就可以避免多个Tomcat之间的冲突

Tomcat指定Java

  前面介绍了怎么在一台主机上同时运行多个Tomcat,而一台主机上也可以部署多个Java,只是环境变量里只能指定一个。同时,也可以为Tomcat专门指定一个Java,而不必是JAVA_HOME中指定的那个。具体做法是修改Tomcat bin目录下的setclasspath.sh脚本,在使用JAVA_HOME和JRE_HOME之前,定义这两个变量。

export JAVA_HOME=/usr/java/jdk1.7.0_67export JRE_HOME=/usr/java/jdk1.7.0_67/jre

Java Web应用修改后字节码替换

  Java Web应用部署到Tomcat之后,有时会对应用某部分代码进行了修改,为了使修改生效,有时需要重新部署应用。但是这时不必将所有内容重新部署(删除、替换),对于普通的JSP文件很简单,直接替换JSP文件即可。对于Sevlet、Java等需要编译成字节码的源程序的修改,则只需将修改后编译得到的字节码替换即可。编译后的字节码位置位于WEB-INF目录下的classes目录。因此,修改代码后在本地重新部署,然后找到本地应用的WEB-INF/classes目录下的相应.class文件,替换服务器上相应文件即可。需要注意的是:修改后需重启tomcat才能生效。

1 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 江苏报到证丢了怎么办 河南报到证丢了怎么办 报到证丢失10年怎么办 退休时无派遣证怎么办 档案里没有派遣证怎么办 档案中派遣证丢失怎么办 中专毕业后想读大学该怎么办 软考准考证丢了怎么办 面试薪资要低了怎么办 应聘等通知没有电话回复怎么办 学生信息表里的籍贯不对怎么办? 小学生信息表里的籍贯不对怎么办? 钉钉下班没打卡怎么办 如果在厂里饭卡丢了怎么办 工作上做错了事想辞职怎么办 结婚辞职怀孕感觉做错了怎么办 换新手机了钉钉怎么办 公众号申请链接无效怎么办 指纹打卡机时间调错已打卡怎么办 智慧云平台先锋讲座打不开怎么办 下雨穿套裙工装好冷怎么办 国家债务违约不要国际融资怎么办 欠钱的确还不起怎么办 生完孩孑后手发账握不死手怎么办 工作调动没啥消息怎么办 裁剪刀老是推歪怎么办 衣服上粘胶水了怎么办 衣服钻掉了有胶怎么办 衣服上贴纸掉了怎么办 裤子沾上502胶水怎么办 衣服上沾泡沫胶怎么办 衣服上面滴上502怎么办 502胶水弄衣服上怎么办 裤子上粘了胶怎么办 胶水滴在衣服上怎么办 衣服上有502胶水怎么办 衣服上面粘了胶怎么办 衣服上的胶干了怎么办 凌晨4点到火车站怎么办 运管罚款没钱交怎么办 郑州地铁票没买怎么办