linux服务器上部署项目,同时运行两个或多个tomcat
在阿里云服务器上部署项目的时候,想使用阿里云提供的负载均衡服务并创建两个监听(如图),

但需要一台服务器提供两个端口,于是就请教前辈并查询资料,得知:
一台服务器提供两个端口,有两种方式:
1、一个tomcat,开放两个端口;
2、两个tomcat,各运行一个项目,提供两个端口。
后者性能更好一些。于是,就查询实现linux服务器上同时运行两个或多个tomcat的方式,下面以同时运行两个tomcat为例介绍,具体实现如下:
第一步:搭建JDK环境
首先搭建JDK环境,下载JDK,然后解压,如:tar -zvxf jdk-6u18-ea-bin-b01-linux-i586-20.gz(JDK压缩包)
解压后,配置环境变量。
linux中,环境变量是在 /etc/profile 中修改文件。
如:
#vi /etc/profile
进入文件后,按 ‘ i ’ 键,进入编辑状态;
//在最末尾添加,注意,其中的‘:’是冒号,不是分号。
JAVA_HOME=/usr/local/jdk1.6
JRE_HOME=$JAVA_HOME/jre
PATH=$PATH:$JAVA_HOME/bin
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib
export JAVA_HOME PATHCLASSPATH TOMCAT_HOME
//添加以上代码后,直接 ctrl + C ,输入:wq (冒号), 回车保存就行了
然后加载刚刚配置的环境变量,命令如下:
# source /etc/profile
验证JDK是否安装成功,在命令行,输入java -version
回车,若打印出JDK版本,则OK!
第二步:下载安装tomcat
下载tomcat到服务器中,并解压到文件夹,如/root/tomcat1.
再复制一份tomcat压缩包,解压到 /root/tomcat2;
这就服务器上就有两个tomcat了,然后我们开始下一步。
第三步:配置tomcat环境变量(重点)
同样是操作/etc/profile 文件。
#vi /etc/profile
然后在文件最后一行,即刚刚添加JDK环境变量的后边添加如下配置:
#tomcat1
export CATALINA_HOME=/root/tomcat1/apache-tomcat-7.0.68
export CATALINA_BASE=/root/tomcat1/apache-tomcat-7.0.68
export TOMCAT_HOME=/root/tomcat1/apache-tomcat-7.0.68
#tomcat2
export CATALINA_HOME2=/root/tomcat2/apache-tomcat-7.0.68
export CATALINA_BASE2=/root/tomcat2/apache-tomcat-7.0.68
export TOMCAT_HOME2=/root/tomcat2/apache-tomcat-7.0.68
(注意:tomcat2中的配置命名)
添加后,ctrl+C, 然后命令行输入 :wq ,保存退出。
加载环境变量,命名行# source /etc/profile
配置成功!
第四步:修改tomcat2中的server.xml文件(重点)
修改 tomcat2/apache-tomcat-7.0.68/conf/server.xml 文件。这个地方是更改端口,共三处,如下:
<Server port="8005" shutdown="SHUTDOWN"> 默认为8005--》修改为8006
<!--APR library loader. Documentation at /docs/apr.html -->
<Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
<!--Initialize Jasper prior to webapps are loaded. Documentation at /docs/jasper-howto.html -->
.........
<Connector port="8080" protocol="HTTP/1.1" 默认为8080--》修改为8081
connectionTimeout="20000"
redirectPort="8443" />
........
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" /> 默认为8009--》修改为8010
第五步:修改tomcat2中的startup.sh 和 shutdown.sh文件(重点)
修改 tomcat2/apache-tomcat-7.0.68/bin 中的 startup.sh 和 shutdown.sh 两个文件,分别在其中添加如下内容:
//为了方便定位位置,加了上下的注释内容
# Start Script for the CATALINA Server
# -----------------------------------------------------------------------------
export JAVA_HOME=/root/jdk1.8.0_161
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=$JAVA_HOME/bin
export CATALINA_HOME=$CATALINA_HOME2
export CATALINA_BASE=$CATALINA_BASE2
# Better OS/400 detection: see Bugzilla 31132
添加完成后,保存退出即可。
最后:检验成果
分别启动两个tomcat中的 /bin/startup.sh ,然后打开浏览器访问测试。http://ip / 端口(server.xml中配置的端口) ,两个端口都可以成功访问即可。
剩下的就是将项目拷贝一份,分别部署到两个tomcat中,启动运行!
如:


linux服务器上部署项目,同时运行两个或多个tomcat的更多相关文章
- nodejs在同一台服务器上部署并同时运行两个或以上服务端时,一个服务用户登录后会挤掉另一个用户的问题
问题描述:一台服务器,部署了两个或以上不同的Web服务,服务A的用户在登陆后,服务B的用户也登陆,此时服务A的用户在点击页面时,会返回登陆页面. 问题根源:浏览器保存的session相同,即cooki ...
- linux的tomcat服务器上部署项目的方法
在tomcat服务器上部署项目的前提,是我们已经准备好了tomcat服务器.在CentOs环境下部署JavaWeb环境,部署tomcat服务器在前面的文章中已经总结过了,可以参考以前文章. 一 to ...
- 如何在Linux服务器上部署禅道
最近换了新的项目团队,由于新团队比较年轻化,没有实行正规的项目管理,于是我自告奋勇要为团队管理出一份力,帮助团队建立敏捷化的项目管理,经过多方考究和对比后,选择了目前较受欢迎的开源项目管理软件:禅道. ...
- Django项目在Linux服务器上部署和躺过的坑
引言 在各方的推荐下,领导让我在测试环境部署之前开发的测试数据预报平台.那么问题来了,既然要在服务器上部署, 就需要准备: 1.linux服务器配置 2.linux安装python环境搭建与配置 3. ...
- 如何在Linux服务器上部署Mysql
一.安装mysql 1.通过文件上传工具,将mysql安装包上传到linux服务器上 2.卸载mariadb包,由于系统中存在mariadb包会导致mysql安装时报错mariadb-libs被mys ...
- 在Linux服务器上部署node项目(git部署,forever持续运行,配置SSL证书)
一.环境部署 1.下载安装包: wget https://nodejs.org/dist/v9.9.0/node-v9.9.0-linux-x64.tar.xz 2.解压并进入目录: xz -d no ...
- linux服务器上部署springboot项目,并让他持续运行到后台
我们知道在运行springboot 项目只需要java -jar + 项目的war包(jar包)名. 但是只要终端已停止那么服务就会被关闭,也就无法访问到我们的项目了.所以我们可以使用守护进程的方式来 ...
- 零基础在Linux服务器上部署javaweb项目
本教程使用的工具下载链接:http://pan.baidu.com/s/1sl1qz2P 密码:43pj 一.安装JDK 1.首先要查看服务器的系统版本,是32位还是64位 #getconf LONG ...
- linux服务器上部署jdk+tomcat+rocketmq+redis-cluster
通常我们拿到一组干净的linux服务器,需要初始化安装一些基础软件,这里一站式介绍部署jdk+tomcat+rocketmq+redis-cluster 前言:如果要在多台服务器上安装,在一台服务器上 ...
随机推荐
- iOS学习新知识-加速计和陀螺仪
一.CoreMotion框架介绍 我们知道有一些iOS的应用,会有一些特殊的要求,比如: 电子罗盘指南针之类的应用:让我们知道方向. 运动类型软件:让我们知道我们跑步多少公里. 社交软件中的摇一摇功能 ...
- 查看Linux下的文件
到了这个时候了,也大概的知道了寄出的Linux的操作,是时候接触一下如何查看文件了.我们常用的有以下几种方式: 1.cat,使用cat命令可以将文件的内容输出到显示屏上,也可以将两个文件结合一起输出. ...
- C#与Oracle数据库
一.连接Oracle数据库 安装客户端: oracle数据库搭建在远程服务器上,本地只需要装个客户端,然后在安装目录下(D:\app\fangs\product\12.1.0\client_3\Net ...
- numpy教程:矩阵matrix及其运算
http://blog.csdn.net/pipisorry/article/details/48791403 numpy矩阵简介 NumPy函数库中存在两种不同的数据类型(矩阵matrix和数组ar ...
- Leetcode_66_Plus One
本文是在学习中的总结,欢迎转载但请注明出处:http://blog.csdn.net/pistolove/article/details/41652987 Plus One Given a non-n ...
- Android JSON原生解析的几种思路,以号码归属地,笑话大全,天气预报为例演示
Android JSON原生解析的几种思路,以号码归属地,笑话大全,天气预报为例演示 今天项目中要实现一个天气的预览,加载的信息很多,字段也很多,所以理清了一下思路,准备独立出来写一个总结,这样对大家 ...
- Linux System Programming --Chapter Eight
内存管理 一.分配动态内存的几个函数 用户空间内存分配:malloc.calloc.realloc1.malloc原型如下:extern void *malloc(unsigned int num_b ...
- Memcached的配置,SSH项目中的整合(com.whalin),Memcached工具类,Memcached的代码调用
1 修改pom.xml,添加依赖文件: <dependency> <groupId>com.whalin</groupId> <artifactId&g ...
- Android群英传帝落篇——程序人生,路漫漫其修远兮,吾将上下而求索!
Android群英传帝落篇--程序人生,路漫漫其修远兮,吾将上下而求索! 当写这篇博客的时候,自2016-02-22到现在5.2号,一晃眼,也㓟两个多月就过去了,我才将这本书看完,虽然写笔记花了很大的 ...
- Windows环境下搭建React Native
随着移动开发越来越火热,前端开发也是有之前11年一直火热到现在,不过我发现从去年年底开发,Android和ios基本已经饱和了,特别是随着广大开源社区的中很多人贡献代码,开发已经不是什么问题了,所以现 ...