首页 > 系统相关 >关于在linux上部署tomcat

关于在linux上部署tomcat

时间:2023-12-16 14:56:41浏览次数:35  
标签:opt tomcat 部署 10398 sh linux tars 日志

一、环境准备

1、选择一款远程工具连接到服务器

2、准备一款ftp软件连接到服务器

 

二、tomcat搭建

》、进入 /opt/tars 目录,按照 appId 创建文件夹,例如 /opt/tars/10398。

》、将 S:\研发中心\开发部\tools\Java\apache-tomcat-8.5.51.tar.gz(或通过tomcat官网下载对应的版本) 通过 ftp 放到服务器的 /download 目录下(可能已经放好了),

执行解压缩命令(如果不是服务器上解压缩,文件权限可能会丢失):tar zxvf /download/apache-tomcat-8.5.51.tar.gz -C /opt/tars/应用Id/,然后将解压缩后的 apache-tomcat-8.5.51 改名为 tomcat,删除 tomcat/webapps 目录内的所有内容。

》、修改配置文件 tomcat/conf/server.xml 中的3个端口,修改端口号参考 应用Id,例如应用Id为 10398。

1)第一个端口号:

<Server port="30398" shutdown="SHUTDOWN">

例如8005,改为 30398,第一为3。

2)第二个端口号:

<Connector port="10398" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />

例如8088,改为 10398,第一为1。

3)第三个端口号(如果是注释掉的,就不用管,官方默认是注释掉的):

<Connector protocol="AJP/1.3"
address="::1"
port="20398"
redirectPort="8443" />

例如8009,改为 20398,第一为2。

以上3个端口不允许和别的tomcat 有重复,否则tomcat则启动不成功。

》、tomcat调优,对于对内存消耗较大,容易内存溢出的应用,可以考虑调整 jvm参数(可选)

将 S:\研发中心\开发部\tools\Java\setenv.sh 复制到 tomcat/bin 下。

三、上传 war 包

》打包

编辑IDEA:

 新增 Maven,在 Command line 输入:clean install -Dmaven.test.skip=true

 保存并选择配置,点击运行

 打包成功后会自动退出,找到war包地址,然后改名为 ROOT.war

 

》上传到服务器上的tomcat

将 ROOT.war 上传到 /opt/tars/应用Id/tomcat/webapps 目录。

四、启停tomcat

目前可以按最新的方式加入自启动,日志抓取,启停应用:java应用dev环境部署方法(支持应用自启动,以及kibana查询)

下面传统方式供参考:

如果应用启动中,需要先尝试停止。

停止:/opt/tars/10398/tomcat/bin/shutdown.sh

停止:/opt/tars/10398/tomcat/bin/catalina.sh stop -force(强制停止,5秒后使用kill强制关闭,如果因应用线程繁忙而未能关闭掉,可手动找到进程pid,强制 kill -9 pid,参考下面介绍)

启动:/opt/tars/10398/tomcat/bin/startup.sh(执行后,可通过 tail -f /opt/tars/10398/tomcat/logs/catalina.out 查看启动日志)

调试:/opt/tars/10398/tomcat/bin/catalina.sh run(用于查看和分析启动参数和滚动日志,退出控制台后tomcat进程会被杀掉)

如果执行权限不足,则脚本赋予执行权限:

chmod 777  startup.sh

chmod 777  shutdown.sh

chmod 777  catalina.sh

》加入开机启动

编辑 /etc/rc.d/rc.local 文件,加入tomcat启动脚本,例如:

vim /etc/rc.d/rc.local,按 i,进入插入模式,在最后换行加入:

/opt/tars/10398/tomcat/bin/startup.sh,ESC,:wq 保存并退出。

 

五、日志及应用情况

》观察应用情况

启动后会自动滚动日志,日志在 tomcat/logs 请负责人确认启动成功,或单独观察日志:tail -f /opt/tars/10398/tomcat/logs/catalina.out。【 tail -f /opt/logs/10398/catalina.out】

快速排查dev错误日志:例如这是查询某订单中心相关错误日志,是以ERROR开头且100111338113订单号结尾的错误日志,快速定位位置,也可以更换其他关键字:

less /opt/tars/10398/tomcat/logs/catalina.out | egrep "ERROR.*100111338113"

 

查看所有运行中的tomcat应用,例如查看10开头的端口号(应用Id)列表:netstat -tulp|grep :10,

 

根据pid查看进程的详细情况:ps -aux | grep 9550

对于假死进程(存在进程,但应用又无法正常访问),需要先找到相关端口占用,可针对具体应用查看,例如针对10398应用:netstat -tulp|grep 398:

 

然后强行杀掉所有占用端口的进程(有可能占用2个端口号的进程不是同一个):kill -9 pid

》配置路由

为了微服务可以通过域名访问,需要联系架构组,在服务治理中新增路由。

标签:opt,tomcat,部署,10398,sh,linux,tars,日志
From: https://www.cnblogs.com/liyongliangs/p/17904825.html

相关文章

  • 性能测试复习准备——linux环境下安装nacos-server-2.3.0.tar.gz
    参考:https://blog.csdn.net/henrin/article/details/130898186 参考:https://blog.csdn.net/weixin_59663288/article/details/125958594?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-1-125958594-blog-130898186.235^v39^p......
  • 嵌入式操作系统的抉择:FreeRTOS、Linux、LiteOS的异同比较
    引言:在嵌入式系统开发中,选择合适的操作系统是至关重要的决策。FreeRTOS、Linux和LiteOS都是嵌入式领域常见的操作系统,各自具有特定的优势和应用场景。本篇博客将深入比较FreeRTOS、Linux和LiteOS之间的异同点,为嵌入式开发者提供更清晰的选择指南。1.FreeRTOS:轻量级实时操作系统Fr......
  • tomcat版本和jdk版本的对应
    tomcat的版本也不易太老,否则会导致理论和实际不相适应:(尽量使用tomcat8.x、tomcat8.5、tomcat9) Tomcat10巨坑结论:tomcat9和tomcat10的依赖包不是同一个。\color{#FF3030}{结论:tomcat9和tomcat10的依赖包不是同一个。}结论:tomcat9和tomcat1......
  • 记一个坑爹的报错,不要过于信任IDE上的热部署插件
    近期处理一个老项目的安全漏洞,要求敏感数据不能明文传输,考虑到效率和兼容性等问题,决定使用对称加密,前端使用CryptoJS,后端使用Java标准库提供的API;最开始试了DES算法,可以调通,但是鉴于现在这个算法因为秘钥太短已经不安全,又尝试新的AES,但是怎么也不行,后台解密报错:java......
  • 【Linux】调试常见的应用程序奔溃“Segmentation fault (core dumped)”
    https://blog.csdn.net/hello_nofail/article/details/129994481?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522170264661316800227454508%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=170264661316800227454508&......
  • linux系统下rsync使用笔记
    rsync的功能rsync能够基于网络(含局域网和互联网)快速地实现多台主机间的文件同步工作rsync的特点rsync有独立的文件内容差异算法,会在传送前对两个文件进行比较,只传送两者内容间的差异部分,因此速度更快rsync的使用场景1、本地代码更新到测试服务器,我们一般采用git方式,测试服务......
  • Docker部署mysql5.7数据库
    1、拉取镜像dockerpullmysql:5.72、启动mysql5.7镜像dockerrun-p3306:3306--namemysql\-v/mydata/mysql/log:/var/log/mysql\-v/mydata/mysql/data:/var/lib/mysql\-v/mydata/mysql/conf:/etc/mysql\-eMYSQL_ROOT_PASSWORD=root\-dmysql:5.7参数说明......
  • Tomcat servelet javax 和 jakarta
    *[GitHub-apache/tomcat-jakartaee-migration:ApacheTomcatmigrationtoolforJakartaEE](https://github.com/apache/tomcat-jakartaee-migration)*[未来可期!但别再傻傻分不清javax和jakarta](https://baijiahao.baidu.com/s?id=1758965939027753195)*[[Solved]The......
  • Linux下自动生成c++工程的UML类图
    在Qtcreator上面折腾了一两天,也没能生成出UML类图。下面是在Linux通过两个工具Graphviz+Doxygen生成类图的过程。安装软件:sudoaptinstallgraphvizdoxygen进入项目文件目录,首先生成配置文件:doxygen-gDoxygen.config然后编辑该配置文件,修改几个选项:EXTRACT_AL......
  • python flask 生产环境部署,基于gunicorn
    1.安装gunicorn,部分生产服务器会存在多个pip版本,一般用pip和pip3区分,本文中用pippipinstallgunicorn2.启动程序cd/usr/appgunicorn--workers2-b0.0.0.0:5056app:app 验证项目正常后继续如下操作3.配置gunicorn配置文件查看centos版本cat/etc/redhat-releas......