【手把手教程】同一台服务器部署多个tomcat7

在同一个服务器上部署多个tomcat应用有多种方式,这里指的是拷贝多份tomcat,然后运行在不同的端口。

场景描述:服务器是CentOS7,内存4G,需要安装两个tomcat7。

解决方案:新建用户user007,在用户目录拷贝两份tomcat,并且最终配置如下:

tomcat1: /home/user007/tomcat1,运行在端口9001,运行内存1.5G;

tomcat2: /home/user007/tomcat2,运行在端口9002,运行内存1.5G;

概要:

1、安装tomcat

2、配置tomcat1

3、启动tomcat1

4、配置tomcat2

5、启动tomcat2

一、安装tomcat

1.1 下载

前往官网:Index of /dist/tomcat/tomcat-7,在此目录下查找需要的版本,比如7.0.109:

shell> cd /home/user007
# 先进入user007根目录,后续的下载、解压、运行文件都可以集中放置在user007目录中
shell> wget https://archive.apache.org/dist/tomcat/tomcat-7/v7.0.109/bin/apache-tomcat-7.0.109.tar.gz

下载后得到压缩文件:/home/user007/apache-tomcat-7.0.109.tar.gz

1.2 解压tomcat

shell> tar -zxvf apache-tomcat-7.0.109.tar.gz -C /home/user007

解压后得到tomcat:/home/user007/apache-tomcat-7.0.109

二、配置tomcat1

2.1 拷贝tomcat

shell> cp -R apache-tomcat-7.0.109 tomcat1

得到tomcat1的目录:/home/user007/tomcat1。

2.2 配置内存和运行路径

shell > vi /home/user007/tomcat1/bin/catalina.sh

在 # OS specific support.  $var _must_ be set to either true or false. 这一行下添加环境和内存配置: 

# OS specific support.  $var _must_ be set to either true or false.
export CATALINA_BASE=/home/user007/tomcat1
export CATALINA_HOME=/home/user007/tomcat1
JAVA_OPTS="-Xms512m -Xmx1536m -XX:PermSize=512m -XX:MaxPermSize=256m -Duser.timezone=GMT+08"

  • CATALINA_BASE和CATALINA_HOME:因为有多个tomcat,这里必须指定各自的运行路径。
  • JAVA_OPTS="-Xmx1536m ...":指定最大内存为1.5G。

2.3 配置端口

shell> vi /home/user007/tomcat1/conf/server.xml

  <Server port="8116" shutdown="SHUTDOWN">
        ...
        <Service name="Catalina">
            <Connector port="9001" protocol="HTTP/1.1"
                connectionTimeout="20000"
                redirectPort="8443" />
            <Engine name="Catalina1" defaultHost="localhost">
                <Realm className="org.apache.catalina.realm.LockOutRealm">
                <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
                    resourceName="UserDatabase"/>
                </Realm>
                <Host name="localhost"  appBase="webapps"
                    unpackWARs="true" autoDeploy="true">
                    <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
                        prefix="localhost_tomcat1_access_log" suffix=".txt"
                        pattern="%h %l %u %t &quot;%r&quot; %s %b" />
                </Host>
            </Engine>
        </Service>
    </Server>

  • Server port="8116" 停止服务端口,默认为8015
  • Connector port="9001" 启动服务端口,默认为8080
  • prefix="localhost_tomcat1_access_log" 访问日志文件名前缀字符

2.4 移除多余的webapp

shell> rm -rf /home/user007/tomcat1/webapps/*

默认webapps下面有一些示例、管理的应用,生产环境没有什么用,而且增加了安全风险。可以全部删除掉。

三、启动tomcat1

3.1 添加测试页面

shell> mkdir /home/user007/tomcat1/webapps/ROOT
# 新建网站目录ROOT
shell> echo 'hello tomcat1' > /home/user007/tomcat1/webapps/ROOT/index.html
# 创建测试页面index.html

3.2 启动tomcat1 

shell> sh /home/user007/tomcat1/bin/startup.sh

浏览页面 http://localhost:9001。

四、配置tomcat2

4.1 拷贝tomcat

shell> cp -R apache-tomcat-7.0.109 tomcat2

得到tomcat2的目录:/home/user007/tomcat2。

4.2 配置内存和运行路径

shell > vi /home/user007/tomcat2/bin/catalina.sh

在 # OS specific support.  $var _must_ be set to either true or false. 这一行下添加环境和内存配置: 

# OS specific support.  $var _must_ be set to either true or false.
export CATALINA_BASE=/home/user007/tomcat2
export CATALINA_HOME=/home/user007/tomcat2
JAVA_OPTS="-Xms512m -Xmx1536m -XX:PermSize=512m -XX:MaxPermSize=256m -Duser.timezone=GMT+08"

  • CATALINA_BASE和CATALINA_HOME:此时tomcat2的路径跟tomcat1就有一些不同了。
  • JAVA_OPTS="-Xmx1536m ...":指定最大内存为1.5G。

4.3 配置端口

shell> vi /home/user007/tomcat2/conf/server.xml

  <Server port="8117" shutdown="SHUTDOWN">
        ...
        <Service name="Catalina">
            <Connector port="9002" protocol="HTTP/1.1"
                connectionTimeout="20000"
                redirectPort="8443" />
            <Engine name="Catalina1" defaultHost="localhost">
                <Realm className="org.apache.catalina.realm.LockOutRealm">
                <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
                    resourceName="UserDatabase"/>
                </Realm>
                <Host name="localhost"  appBase="webapps"
                    unpackWARs="true" autoDeploy="true">
                    <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
                        prefix="localhost_tomcat2_access_log" suffix=".txt"
                        pattern="%h %l %u %t &quot;%r&quot; %s %b" />
                </Host>
            </Engine>
        </Service>
    </Server>

  • Server port="8117" 停止服务端口,默认为8015,tomcat1的为8116
  • Connector port="9002" 启动服务端口,默认为8080,tomcat1的为9001
  • prefix="localhost_tomcat2_access_log" 访问日志文件名前缀字符,跟tomcat1的localhost_tomcat1_access_log区分开来。

4.4 移除多余的webapp

shell> rm -rf /home/user007/tomcat2/webapps/*

同tomcat1的配置,默认的webapps全部删除掉。

五、启动tomcat2

5.1 添加测试页面

shell> mkdir /home/user007/tomcat2/webapps/ROOT
# 新建网站目录ROOT
shell> echo 'hello tomcat2' > /home/user007/tomcat2/webapps/ROOT/index.html
# 创建测试页面index.html

5.2 启动tomcat2

shell> sh /home/user007/tomcat2/bin/startup.sh

浏览页面 http://localhost:9002

猜你喜欢

转载自blog.csdn.net/tirestay/article/details/130663898