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才能生效。
- Tomcat部署Web应用方面的一些问题(多Tomcat、指定Java、字节码替换)
- Web应用的部署(tomcat)
- tomcat部署web应用
- Tomcat部署WEB应用
- Tomcat 部署Web应用
- Tomcat部署web应用
- tomcat部署web应用
- tomcat部署web应用
- Tomcat部署Web应用
- Tomcat部署Java Web工程的一些心得总结
- Tomcat中部署Java Web应用
- Tomcat中部署Java Web应用
- java Web 项目部署在tomcat的问题
- tomcat部署web应用的方式
- Tomcat 部署Web 应用的过程
- Tomcat部署Web应用的方法总结
- Tomcat中部署Web应用的方式
- Tomcat的安装和部署web应用
- Windows7下安装MongoDB
- 会员卡管理系统技术解析(十一)会员卡作废记录查询
- openLTE编译cmake时出错,not found gnuradio
- 实现医生工作站的处方模板功能的代码(十一)
- Android与MVC设计模式
- Tomcat部署Web应用方面的一些问题(多Tomcat、指定Java、字节码替换)
- 在IDL中调用自定义Python Module
- python sort and sorted
- Mac电脑下配置maven环境变量
- 结构体中的位域
- redis 模糊查询?
- C语言初探 之 printf压栈顺序(printf("%d %d %d %d %d %d\n",a++, ++a, a++, ++a, a++, ++a ))
- python lambda表达式
- Android知识点随记