当前位置: 首页 > java >正文

Tomcat Web应用(Ubuntu 18.04.6 LTS)部署笔记

一、前言

  本文与【MySQL 8(Ubuntu 18.04.6 LTS)安装笔记】和【JDK(Ubuntu 18.04.6 LTS)安装笔记】同批次:先搭建数据库,再安装JVM,后面就是部署Web应用:典型的单机部署。
  本着善始善终,特别补充。

二、准备
(1)选择Tomcat版本并下载

  对于Tomcat版本,支持Java 8 的Tomcat 9。
  在官网上下载即可,目标文档形如:apache-tomcat-9.0.xxx.tar.gz。本文中子版本为104。
  该文档也不是安装文件(.deb)而是绿色版,解压就可使用。

(2)安装目录

  与 JDK 不同,Web应用中包含用户成果,所以应放在 /opt/ 文件系统中。
  安装目录形如:/opt/webapps8/app1/,/opt/webapps8/app2/,即:/opt/webapps8/ 目录中存放多个Web应用。

三、过程
(1)创建安装目录并解压
mkdir /opt/webapps8 
tar -xvf apache-tomcat-9.0.104.tar.gz -C /opt/webapps8
mv /opt/webapps8/apache-tomcat-9.0.104 /opt/webapps8/app1
(2)Tomcat server设置
  1. 清空webapps目录。
cd /opt/webapps8/app1/webapps/
rm -r *
  1. 修改 server 设置(conf/server.xml)
说明
Server段,port默认为8005,不冲突即可
Connector段,port默认为8080,不冲突即可
Connector段新增URIEncoding=“UTF-8”,防止URI乱码
Host段新增<Context,用于定义应用上下文
  1. 修改日志设置(conf/logging.properties)

  可选。主要修改编码。例如:UTF-8、GBK等。

  1. 修改启动项(bin/catalina.sh)
      在【set “JAVA_OPTS=%JAVA_OPTS% %JSSE_OPTS%”】的尾部添加【-Dfile.encoding=UTF-8】。形如:
set "JAVA_OPTS=%JAVA_OPTS% %JSSE_OPTS% -Dfile.encoding=UTF-8" 
(3)Web应用设置

  会依据Web应用的框架而不同,主要的修改就是一些连接信息。
  不再赘述。

(4)启动/关停服务及验证
 ./bin/startup.sh | ./bin/shutdown.sh 。。ps aux | grep tomcat 

  自此,安装完成。

附录
(1)日志文件
  目录  内容
catalina.yyyy-MM-dd.logtomcat服务器启动、关闭和运行过程日志
catalina.outtomcat服务控制台输出
host-manager.yyyy-MM-dd.log/
localhost.yyyy-MM-dd.log服务主机的日志信息
localhost_access_log.yyyy-MM-dd.txtHTTP访问日志,包括:方法(如:GET/POST),访问路径,状态码(如:200,500,304等),耗时ms
manager.yyyy-MM-dd.log/
相关文章

  [1]. MySQL 8(Ubuntu 18.04.6 LTS)安装笔记。
  [2]. JDK(Ubuntu 18.04.6 LTS)安装笔记。

【完】

http://www.xdnf.cn/news/1750.html

相关文章:

  • [LangGraph教程]LangGraph04——支持人机协作的聊天机器人
  • Python:简介,Python解释器安装,第一个Python程序,开发环境(PyCharm安装和配置、Sublime安装和配置)
  • 5.学习笔记-SpringMVC(P61-P70)
  • 【大模型有哪些训练阶段?】
  • 模板偏特化 (Partial Specialization)
  • 类模板 (Class Templates)
  • 【需求墙上线】产品需求决定产品走向,邀您共建开源 LinkAndroid
  • JDK 21 的新特性:探索 Java 的最新进化
  • GLM-4V:多模态大模型在图像识别领域的突破性实践
  • 第六章:安全最佳实践
  • 2025磐石行动第七周WP
  • Long类型封装Json传输时精度丢失问题
  • 2024浙江省赛A Bingo
  • NOIP2013 提高组.转圈游戏
  • TIM输入捕获知识部分
  • 从零开始学习SLAM|技术路线
  • C++之类和对象:定义,实例化,this指针,封装
  • 【OpenCV图像处理实战】从基础操作到工业级应用
  • EFISH-SBC-RK3588 —— 厘米级定位 × 旗舰算力 × 工业级可靠‌
  • SpringBoot集成RabbitMQ使用过期时间+死信队列实现延迟队列
  • Linux系统----进程的状态
  • [创业之路-384]:企业法务 - 初创公司,如何做好知识产品的风险防范?
  • 质检LIMS系统在金融咨询行业的应用 金融咨询行业的实验室数字化
  • Linux下编译opencv-4.10.0(静态链接库和动态链接库)
  • Leetcode 34. 在排序数组中查找元素的第一个和最后一个位置
  • 2025-04-24 Python深度学习4—— 计算图与动态图机制
  • 极狐GitLab 如何 cherry-pick 变更?
  • STM32移植最新版FATFS
  • Godot开发2D冒险游戏——第二节:主角光环整起来!
  • C# new Bitmap(32043, 32043, PixelFormat.Format32bppArgb)报错:参数无效,如何将图像分块化处理?