Linux下部署多个Tomcat

1.环境:
1.1.Centos 5.0
1.2.apache-tomcat-6.0.18

2.需要解决一下几个问题
2.1.不同的tomcat启动和关闭监听不同的端口
2.2.不同的tomcat的启动文件startup.sh 中要指定各自的CATALINA_HOME和CATALINA_BASE这两个环境变量。

3.解决步骤:

3.1.修改/etc目录下的profile文件,添加一组java环境变量,和两组CATALINA环境变量;修改后的profile文件示例如下:
JAVA_HOME=/usr/java/jdk
CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib:$JAVA_HOME/bin
export JAVA_HOME CLASSPATH
CATALINA_BASE=/u01/app/apache-tomcat-6.0.18
CATALINA_HOME=/u01/app/apache-tomcat-6.0.18
export CATALINA_BASE CATALINA_HOME
CATALINA_2_BASE=/u01/app/apache-tomcat-shanghai
CATALINA_2_HOME=/u01/app/apache-tomcat-shanghai
export CATALINA_2_BASE CATALINA_2_HOME
TOMCAT_HOME=/u01/app/apache-tomcat-6.0.18
export TOMCAT_HOME
TOMCAT_2_HOME=/u01/app/apache-tomcat-shanghai
export TOMCAT_2_HOME

PATH=$JAVA_HOME/bin:$PATH
export PATH

3.2.第一个安装在/u01/app/apache-tomcat-6.0.18处的tomcat,保持解压后的原状不用修改。修改第二个安装在/u01/app/apache-tomcat-shanghai处的tomcat。需要修改两个地方:
3.2.1.修改server.xml配置和第一个不同的启动、关闭监听端口。修改后示例如下:
为了不重复,修改了4个端口号
8005→9005
8009→9009
8080→9080
8443→9443

3.2.2.修改bin下的startup.sh和shutdown.sh。修改后的示例如下:(同样的修改)
export JAVA_HOME=/usr/jdk
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=$JAVA_HOME/lib
export CATALINA_HOME=$CATALINA_2_HOME 利用profile中第二组设置
export CATALINA_BASE=$CATALINA_2_BASE 利用profile中第二组设置

3.2.3 修改bin下的catalina.sh

该文件中所有CATALINA_BASE和CATALINA_HOME都改成上面profile文件中定义的
CATALINA_2_BASE和CATALINA_2_HOME

4.修改完毕后,source /etc/profile。可能是因为修改了profile文件的缘故?

5.分别进入两个tomcat的bin目录,启动tomcat--./startup.sh

6.然后访问http://localhost:8080 和 http://localhost:9080 都可以看到熟悉的tomcat欢迎界面。

7.如果想启动多个可以依此法类推……

 
 
-----这是在http://blog.csdn.net/xianzufu/article/details/39933183地址下看到的步骤
在实际开发中没有在profile中配置2组CATALINA变量:
只是做了如下配置:

export JAVA_HOME=/usr/local/jdk1.8.0_60
export JAVA_BIN=/usr/local/jdk1.8.0_60/bin
export JRE_HOME=/usr/local/jdk1.8.0_60/jre
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib/rt.jar
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:/usr/local/redis/bin:/usr/local/mysql/bin:$PATH

export LC_ALL="zh_CN.GBK"
export LANG="zh_CN.GBK"
PATH=/usr/local/jdk1.8.0_60/bin:/usr/local/jdk1.8.0_60/jre/bin:/usr/local/redis/bin:/usr/local/mysql/bin:/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/mysql/bin:/usr/local/bin/

在将tomcat copy一份  修改server.xml的启动和关闭端口即可;

 

Linux下部署多个Tomcat(完整)的更多相关文章

  1. Linux下部署 apache+jdk+tomcat

    1.输入下面的命令安装apache2: ubuntu@VM-164-86-ubuntu:sudo apt-get install apache2 当提示“您希望继续执行吗?”时  输入 Y 然后等待安 ...

  2. Linux下部署SSM,通过启动tomcat即可运行

    Linux下部署SSM项目 1. Java环境配置(JRE&JDK) 安装JDK8:sudo yum install java-1.8.0-openjdk 将操作系统配置为默认使用JDK8:s ...

  3. Linux上部署多个tomcat端口设置

    在Linux上部署多个tomcat主要是防止端口冲突的问题, tomcat服务器需配置三个端口才能启动,安装时默认启用了这三个端口,当要运行多个tomcat服务时需要修改这三个端口,不能相同.端口一: ...

  4. 在linux下安装并操作tomcat

    1.安装tomcat1).下载tomcat从官网http://tomcat.apache.org/下载tomcat,保存在/home目录下.root@ubuntu:/home/ubuntu/Downl ...

  5. Linux 下启动两个tomcat

    Linux 下启动两个tomcat 闲来无事学习nginx,想要配置个load balance.可是先决条件是:得有两个web容器.两个电脑是不用想了.只能想办法在一个机器上启动两个tomcat.原以 ...

  6. linux 下部署web 程序

    linux 下部署web 程序 1. 创建ucenter用户 一般情况下,发布应用程序都不是使用root用户的,需要创建一个普通用户来发布程序: 创建ucenter用户: useradd -d /uc ...

  7. Linux下部署FTP服务器

    Linux下部署FTP服务器 下载安装包 在这里介绍的是离线部署FTP,首先下载对应的rpm包,下载链接为: 下载vsftpd服务 下载FTP客户端 安装ftp服务器 关闭防火墙 service ip ...

  8. linux下部署项目问题

    1. 今天linux下部署thinkphp项目,数据库用的mysql. 页面其他都是正常的,但是从数据库中取出的数据都是乱码.最后查了资料 解决方案: 在ThinkPHP里面 Library\Thin ...

  9. linux 下部署nodejs(两种方式)

    本次博客的编写时用的系统环境,刚装好的Centos 6.4  64位虚拟机. 另外关于linux 其他系统的安装 可以参考https://github.com/joyent/node/wiki/Ins ...

随机推荐

  1. 深入理解C++中public、protected及private用法

    深入理解C++中public.protected及private用法   这篇文章主要介绍了C++中public.protected及private用法,对于C++面向对象程序设计来说是非常重要的概念 ...

  2. Atitit 大json文件的结构化查看解决方案,高性能的jsonview  attilax总结.docx

    Atitit 大json文件的结构化查看解决方案,高性能的jsonview  attilax总结.docx 1.1. 实现目标:1 1.2. 实现key与value类型的..一直分析到非 jsonob ...

  3. 视频压缩和H264

    一.视频压缩 1.1 为什么需要压缩视频? 假设一个2小时未压缩的高清视频,1920×1080p的电影,我们来计算一下他的存储容量.先介绍一下帧率(frame rate或者是 FPS)概念,也就是每秒 ...

  4. linux每日命令(10):touch命令

    linux的touch命令一般用来修改文件时间戳,或者新建一个不存在的文件. 一.命令格式: touch [参数]... 文件... 二.命令参数: 参数 描述 -a 或--time=atime或-- ...

  5. Asp.Net 隐藏手机号中间四位为*方法

    需求:15088881234 > 150****1234 方法1: "; , ) + , ); 方法2: "; string p2= Regex.Replace(phone ...

  6. Selenium Web 自动化 - 项目实战(一)

    Selenium Web 自动化 - 测试框架(一) 2016-08-05 目录 1 框架结构雏形2 把Java项目转变成Maven项目3 加入TestNG配置文件4 Eclipse编码修改5 编写代 ...

  7. Java多线程系列——过期的suspend()挂起、resume()继续执行线程

    简述 这两个操作就好比播放器的暂停和恢复. 但这两个 API 是过期的,也就是不建议使用的. 不推荐使用 suspend() 去挂起线程的原因,是因为 suspend() 在导致线程暂停的同时,并不会 ...

  8. <王二的经济学故事>读书笔记

    不是简单地用价格把供需弄平衡就完事了,座位分配给谁同样重要 一个成功的社会必须要有成功的人,必须要给成功的人应得的回报 需求曲线向下倾斜,价格越高需求越少 先来的都是那些时间最不值钱的 无论收入分配差 ...

  9. hdoj:2029

    #include <iostream> #include <string> using namespace std; bool isPalindromes(string s) ...

  10. 奇淫怪巧之在Delphi中调用不申明函数

    前一阵子,研究了一段时间的Win32Asm,研究到后来发现Win32的ASM实际上还是和C版的介绍的一样.甚至还封装了一个简版的类似VCL库结构框架的32ASM结构库,不过搞着搞着就没兴趣了,也没继续 ...