【Liunx服务器】阿里云服务器下部署多个tomcat服务

现在有这样一个场景,一个阿里云服务器上面已经有tomcat项目和多个maven项目,现在需要在一个新项目中配置一个空的tomcat,现将具体流程记录下来。

1.下载tomcat包或者找到已下载的包

2.将tomcat的包解压到指定项目目录:/data/project/test
tar -zxvf apache-tomcat-8.5.28.tar.gz -C /data/project/test3.修改/etc/profile文件
添加一组Java环境变量(如果已经有了就不用再添加),和两组CATALINA环境变量。
unset i
unset -f pathmunge
    export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
    export JAVA_HOME=/data/java/jdk1.8.0_191
    export JRE_HOME=/data/java/jdk1.8.0_191/jre
    export CLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar
    export PATH=$PATH:${JAVA_HOME}/bin
    export MVN_HOME=/data/maven/apache-maven-3.6.0
    export PATH=$MVN_HOME/bin:$JAVA_HOME/bin:$PATH
已经有了java配置,只需要配置tomcat
    export CATALINA_1_BASE=/data/project/test/apache-tomcat-8.5.28
    export CATALINA_1_HOME=/data/project/test/apache-tomcat-8.5.28
    export TOMCAT_1_HOME=/data/project/test/apache-tomcat-8.5.28

3.修改server.xml
在刚才解压的目录下找到/data/project/test/apache-tomcat-8.5.28/conf,打开server.xml,修改shudown端口与http访问端口(注意要把端口添加到防火墙配置里面),
AJP端口不修改有可能启动会报错,但程序可以跑起来,所以可以把AJP端口也修改了。
<Server port="8006" shutdown="SHUTDOWN">

<Connector port="8011" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />  <!-- 这里的8011就是实际使用的端口-->

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

4.修改catalina.sh
打开catalina.sh ,找到下面红字,在下面增加如下代码
 # OS specific support.  $var _must_ be set to either true or false.
# test : add
export CATALINA_BASE=$CATALINA_1_BASE
export CATALINA_HOME=$CATALINA_1_HOME

完成以上配置就ok了。去到那个tomcat的bin路径下,启动服务,就可以同时运行了。
./startup.sh   或者 sh startup.sh

5.启动逻辑
启动Tomcat的startup.sh,仔细阅读。在这个文件中,首先判断CATALINA_HOME环境变量是否为空,如果为空,就将当前目录设为CATALINA_HOME的值。
接着判断当前目录下是否存在bin\catalina.sh,如果文件不存在,将当前目录的父目录设为CATALINA_HOME的值。
我们了解到两个信息,一是Tomcat启动时,需要查找CATALINA_HOME这个环境变量,如果在Tomcat的bin目录下调用startup.sh,Tomcat会自动并正确设置CATALINA_HOME;
二是执行startup.sh命令,实际上执行的是“catalina.sh start”命令。

下一篇文章主要介绍一下如何在一个tomcat服务下配置多个访问项目。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/568493.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python 按照当前日期创建文件

import time import os.path#获得当前系统时间的字符串 localtimetime.strftime(%Y-%m-%d %H:%M:%S,time.localtime(time.time())) print(localtimelocaltime) #系统当前时间年份 yeartime.strftime(%Y,time.localtime(time.time())) #月份 monthtime.strftime(%m,time.localti…

数据结构二叉树遍历求后序

注意左右子树的递归 参考自https://blog.csdn.net/hou_blog/article/details/50015503

【数据库】Mysql函数DATE_ADD() 增加日期/时间

有这样一个场景&#xff1a;数据库还款计划表有到期还款日字段&#xff0c;正常是每月2日。但这个字段有些是每月1日&#xff0c;现需要统一改成2日&#xff0c;可以用到DATE_ADD函数&#xff0c;但是执行时需要注意&#xff1a;只能执行一次 DATE_ADD(date,INTERVAL expr type…

【数据库】Mysql函数DATE_FORMAT() 显示日期/时间

上一篇文章介绍了Mysql函数DATE_ADD()&#xff0c;这篇文章主要是为了解决上次遗留的问题&#xff1a; 把问题变得更复杂一点&#xff1a;假设有两个借款&#xff0c;其中一个借款1的到期还款日为2日&#xff0c;借款2的到期还款日为10日。这个字段loan_pmt_due_date日期有多个…

fiddler抓包工具使用技巧

一、快速找所有post、get、Result code200请求 1、所有post请求的图标都是带有向右的小箭头的那种&#xff0c;如果能让所有向右的小箭头都高亮显示就好了解决方案&#xff1a;输入命令&#xff1a;post 然后点击enter键回车&#xff0c;可以看到所有的post请求都是以蓝色的底…

【数据库】Mysql的CONCAT()函数拼接字符串

mysql CONCAT()函数用于将多个字符串连接成一个字符串&#xff0c;是最重要的mysql函数之一&#xff1a; mysql CONCAT(str1,str2,…) 返回结果为连接参数产生的字符串。如有任何一个参数为NULL &#xff0c;则返回值为 NULL。 回到上一篇文章的问题&#xff1a;假设有两个借款…

Jmeter中JDBC Connection Configuration实现MySQL JDBC Request数据库处理

一、JDBC Connection Configuration数据库配置元件 线程组-添加-配置元件-JDBC Connection Configuration Name:元件命名空间&#xff0c;请随意 Comments:注释&#xff0c;请随意 Variable Name:数据库连接池的名称&#xff0c;因为一个测试计划可以有多个JDBC Connection …

【数据库】Mysql的REPLACE()函数替换字符串

mysql中replace函数直接替换mysql数据库中某字段中的特定字符串&#xff0c;用起来非常的方便。 REPLACE(str,from_str,to_str) 第一个字符串str中&#xff0c;将from_str替换为to_str 回到上一篇文章的问题&#xff1a;假设有两个借款&#xff0c;其中一个借款…

百度智能云文档汇总

百度智能云文档汇总目录&#xff1a; 一、百度语音-->https://cloud.baidu.com/doc/SPEECH/index.html 百度语音提供对自然语言文本的解析服务。自然语言文本是用户意图的表述&#xff0c;意图解析的目的就是将文本解析成意图表示。 二、文字识别-->https://cloud.baidu…

Python单元测试框架之unittest+requests+ddt+excel接口自动化测试

unitetest是python里单元测试框架&#xff0c;是基于 java 的 junit 测试框架 相当于是一个 python 版的 junit&#xff0c;除了 unittest,还有一个 pytest 框架 unittest.TestCase&#xff1a;TestCase类&#xff0c;所有测试用例类继承的基本类 一个TestCase的实例就是一个…

【业务篇】史上最全经验版用例之IOS和Android版APP版本更新、IOS版规避审核?

一、IOS app设置苹果审核 为了app提交苹果能快速审核通过&#xff0c;故需设置app审核状态&#xff0c;隐藏部分敏感功能 1、线上app版本1.0.0&#xff0c;新版本app2.0.0测试通过&#xff0c;设置2.0.0版本app审核状态&#xff0c;隐藏2.0.0版本部分敏感功能&#xff0c;提交…

Python之Pymysql模块操作MySQL增删改查

Python3 MySQL 数据库连接 - PyMySQL 驱动 PyMySQL 连接数据库&#xff0c;实现增删改查 什么是 PyMySQL&#xff1f; PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一个库&#xff0c;Python2中则使用mysqldb。 PyMySQL 遵循 Python 数据库 API v2.0 规范&#x…

Python之日志处理(logging模块)详解

logging模块简介 logging模块是Python内置的标准模块&#xff0c;主要用于输出运行日志&#xff0c;可以设置输出日志的等级、日志保存路径、日志文件回滚等&#xff1b;相比print&#xff0c;具备如下优点 1、可以通过设置不同的日志等级&#xff0c;在release版本中只输出重…

神秘的安全测试思考案例(一)

定义&#xff1a;安全测试是在软件产品开发基本完成时&#xff0c;验证产品是否符合安全需求定义和产品质量标准的过程。 概念&#xff1a;安全测试是检查系统对非法侵入渗透的防范能力。 准则&#xff1a;理论上来讲&#xff0c;只要有足够的时间和资源&#xff0c;没有无法进…

STL Map学习总结

1、 Map是关联容器&#xff0c;以键值对的形式进行存储&#xff0c;方便进行查找&#xff0c;关键词起到索引的作用&#xff0c;值则表示与索引相关联的数据&#xff0c;以红黑树的结构实现&#xff0c;插入删除等操作都可以在O(log n)时间内完成 2、它的特点是增加和删除节点…

【功能业务篇】APP获取用户定位、传参经纬度思考

常用的三种定位方式有&#xff1a;基于GPS定位、基于基站地位、基于wifi定位。 1、基于GPS定位&#xff1a; GPS定位需要GPS模块(硬件)的支持,没有GPS模块是无法进行GPS定位的。 GPS定位最大的优点就是其定位精确度高(一般误差在10m内),无网络也能用;缺点就是耗电高、定位慢、室…

cmd运行python程序

先cd到当前目录&#xff0c;然后python XXX.py

mysql 四种存储引擎

前言 数据库存储引擎是数据库底层软件组织&#xff0c;数据库管理系统&#xff08;DBMS&#xff09;使用数据引擎进行创建、查询、更新和删除数据。不同的存储引擎提供不同的存储机制、索引技巧、锁定水平等功能&#xff0c;使用不同的存储引擎&#xff0c;还可以 获得特定的功…

Android ADB调试之无线连接设备

Android无线调试 一、数据线连接手机和电脑&#xff08;首次设置需数据线连接&#xff09;&#xff0c;开启开发者模式和USB调试&#xff0c;确保手机和电脑已连接 cmd下执行adb devices 显示上图1&#xff0c;说明已连接 二、华为手机设置 1、开发人员选项 2、USB调试 3、…

【Python实战】使用python计算多种类型到期还款日

一般金融产品的账务测试时&#xff0c;我们会接触到还款方式&#xff0c;到期还款日等概念。 在自动化测试或者脚本使用中&#xff0c;我们需要动态的生成到期还款日去进行账务测试&#xff0c;这篇文章主要介绍了常见的几种到期还款日计算方式。 一、固定期限&#xff08;比如…