Liunx发布tomcat项目

news2024/11/18 15:25:45

Liunx在Tomcat发布JavaWeb项目

  • 1.问题
  • 2.下载JDK
  • 3.下载Tomcat
  • 4.Tomcat本地JavaWeb项目打war包、解压、发布
  • 5.重启Tomcat,查看项目

1.问题

1.JDK 与 Tomcat 版本需匹配,否则页面不能正确显示
报错相关:Caused by: java.lang.ClassNotFoundException: javax.xml.bind.JAXBException

2.tomcat 需要创建 logs 文件夹

3.查询linux端口号情况
netstat -tuln | grep 端口号

4.若运行出现问题,查看logs里面的catalina.out 和 *.log
#查看最近100条日志:
tail -f -n 100 catalina.out

5.删除A文件夹下的文件
  进入A文件夹,再执行 rm -rf *
  

2.下载JDK

1.下载jdk官网
https://www.oracle.com/java/technologies/oracle-java-archive-downloads.html

2.看自己想下载什么版本
jdk-8u211-linux-x64.tar.gz

3.拖到服务器你想放置的位置,我放“/mydata/jdk/”里面
#cd进指定文件夹
cd /mydata/jdk/
# 解压 jdk/jdk1.8.0_211
tar -zxvf jdk-8u211-linux-x64.tar.gz
#编辑环境配置
vim /etc/profile
# 更改profile
unset i
unset -f pathmunge
export JAVA_HOME=/mydata/jdk/jdk1.8.0_211
export PATH=$JAVA_HOME/bin:$PATH
... ...
#重新加载配置文件
source /etc/profile
#查看java版本
java -version

3.下载Tomcat

#官网
https://tomcat.apache.org/download-80.cgi

① 将下载的tomcat包拖进去

② 解压(unzip apache-tomcat-8.5.98.zip)

③ 创建logs空文件夹

④ 修改web.xml与content.xml,见链接
https://blog.csdn.net/weixin_45941687/article/details/131392956

⑤ 在sever.xml 文件
     ① 以防端口冲突,修改端口号 
     ② 根据页面放置在webapps位置,配置路径
server.xml 文件的修改

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

    <Connector port="8223" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443"
               maxHttpHeaderSize="8192"
               URLEncoding="UTF-8" />
               
    # 这是为了配置https
    <Connector port="8443" protocol="HTTP/1.1"
               maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
               clientAuth="false" sslProtocol="TLS"
               keystoreFile="/data/tomcat.jks" keystorePass="Songjiang.gov2022"
               SSLProtocol="TLSv1.1+TLSv1.2+TLSv1.3"
               ciphers="TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA256"/>
               
... ...

      <Host name="localhost"  appBase="webapps" unpackWARs="true" autoDeploy="true">
         # 这是为了配置页面指向
        <Context reloadable="true" crossContext="true" docBase="WebContent" path="/" sessionCookieName="YYKJSESSION10223"/>

        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="localhost_access_log" suffix=".txt"
               pattern="%h %l %u %t &quot;%r&quot; %s %b" />
		</Host>
	</Engine>
  </Service>
</Server>
context.xml文件,指向先读取WEB-INF/web.xml下的配置,在项目里面

<Context privileged="true">

    <!-- Default set of monitored resources. If one of these changes, the    -->
    <!-- web application will be reloaded.                                   -->
    <WatchedResource>WEB-INF/web.xml</WatchedResource>
    <WatchedResource>${catalina.base}/conf/web.xml</WatchedResource>

    <!-- Uncomment this to disable session persistence across Tomcat restarts -->
    <!--
    <Manager pathname="" />
    -->
</Context>

4.Tomcat本地JavaWeb项目打war包、解压、发布

① 项目本地打war包
在这里插入图片描述
② Tomca创建WebContent文件夹

cd /mydata/apache-tomcat-8.5.98/webapps/

#上面server.xml配置的Context路径就是这里mkdir WebContent/
【
 <Context reloadable="true" crossContext="true" docBase="WebContent" path="/" sessionCookieName="YYKJSESSION10223"/>
】

③ war包拖入WebContent下

④ 解压war包: jar -xvf  **.war 

在这里插入图片描述

5.重启Tomcat,查看项目

② 查看正在运行的tomcat
ps aux|grep tomcat

③ 停止正在运行的tomcat,进入对应文件夹下的bin
./shutdown.sh

④ 启动新tomcat,进入对应文件夹下的bin
./startup.sh

⑤ 查看运行的项目命令,查看到tomcat的版本号
ps aux|grep tomcat

# 查看页面
ip:端口号 可以访问默认页面

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

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

相关文章

Tag文件与Tag标记

一、Tag文件 Tag文件与JSP文件很类似&#xff0c;可以被JSP页面动态加载调用&#xff0c;实现代码的复用&#xff0c;但用户不能通过该Tag文件所在Web服务目录直接访问Tag文件 1、文件结构 Tag文件是扩展名为.tag的文本文件&#xff0c;其结构和JSP文件类似。一个Tag文件中可…

十一、大模型-Semantic Kernel与 LangChain 的对比

Semantic Kernel 与 LangChain 的对比 Semantic Kernel 和 LangChain 都是用于开发基于大型语言模型&#xff08;LLM&#xff09;的应用程序的框架&#xff0c;但它们各有特点和优势。 基本概念和目标 Semantic Kernel 是一个由微软开发的轻量级 SDK&#xff0c;旨在帮助开发…

nginx版本号隐藏

隐藏Nginx版本号的主要作用是增强服务器的安全性。当Nginx的版本号被隐藏时&#xff0c;攻击者就难以利用已知的漏洞来攻击特定版本的软件&#xff0c;因为他们无法确切知道服务器上运行的Nginx版本。这样可以降低攻击者对系统的了解&#xff0c;增加攻击的复杂性&#xff0c;从…

【大模型系列】大模型的上下文长度解释与拓展

文章目录 1 什么是大模型的上下文长度&#xff1f;2 拓展大模型上下文长度的方式参考资料 1 什么是大模型的上下文长度&#xff1f; 大模型的上下文长度&#xff08;Context Length&#xff09;是指在自然语言处理&#xff08;NLP&#xff09;的大型语言模型&#xff08;Large…

《QT实用小工具·四十四》支持图片和动图的文本编辑器

1、概述 源码放在文章末尾 该项目实现了一个功能丰富的文本编辑器&#xff0c;除了包含文本常规的编辑功能&#xff0c;还包括图片的插入功能和动图的插入功能&#xff0c;项目demo演示如下所示&#xff1a; 项目部分代码如下所示&#xff1a; #include "imagehelper.…

【Linux网络编程】DNS、ICMP、NAT技术、代理服务器+网络通信各层协议总结

DNS、ICMP、NAT技术、代理服务器网络通信总结 1.DNS2.ICMP协议2.1ping命令2.2traceroute命令 3.NAT技术4.NAT和代理服务器5.网线通信各层协议总结 点赞&#x1f44d;&#x1f44d;收藏&#x1f31f;&#x1f31f;关注&#x1f496;&#x1f496; 你的支持是对我最大的鼓励&…

第七篇:专家级指南:Python异常处理的艺术与策略

专家级指南&#xff1a;Python异常处理的艺术与策略 1 引言 在编程的世界中&#xff0c;异常处理是一门必修的艺术。它不仅涉及到程序的错误处理&#xff0c;更广泛地影响着软件的稳定性、健壮性和用户体验。本篇文章将深入探讨Python中的异常处理&#xff0c;展示如何通过精心…

瘦身秘籍:如何使用 PyInstaller 打造超小型 Python 可执行文件

你是否曾经尝试过将你的 Python 程序打包成一个可执行文件&#xff0c;却发现生成的文件大得惊人&#xff1f;别担心&#xff0c;本文将教你如何使用 PyInstaller 尽可能减小生成的 onefile 大小&#xff0c;让你的程序轻盈如风&#xff01; 1. 使用虚拟环境 首先&#xff0c…

边循环边删除List中的数据

List边循环&#xff0c;边删除&#xff1b;这种一听感觉就像是会出问题一样&#xff0c;其实只要是删除特定数据&#xff0c;就不会出问题&#xff0c;你如果直接循环删除所有数据&#xff0c;那可能就会出问题了&#xff0c;比如&#xff1a; public static void main(String[…

基于RK1126的小型化低功耗AI相机,支持人体特征识别、人脸特征识别、案例帽识别等

提供可定制的⼀套 AI相机软硬件开发平台&#xff0c; 硬件采⽤ RockchipRV1126处理器解决 ⽅案&#xff0c;可选择搭配 SonyIMX系列传感器&#xff0c;POE供电与数据传输&#xff0c;采⽤ 38板标准结构设计&#xff0c;快速按需定制外壳&#xff0c;⽀撑从开发到验证到批量⽣产…

Redis集群模式:高可用性与性能的完美结合!

【更多精彩内容,欢迎关注小米的微信公众号“软件求生”】 大家好,我是小米,一个积极活泼、喜好分享技术的29岁程序员。今天我们来聊聊Redis的集群模式,以及它是如何实现高可用的。 什么是Redis集群模式? Redis的集群模式是为了避免单一节点负载过高导致不稳定的一种解决…

Windows之隐藏特殊文件夹(自定义快捷桌面程序)

作者主页&#xff1a;点击&#xff01; 创作时间&#xff1a;2024年5月1日12点55分 祝大家劳动节快乐~ Windows中的特殊文件夹是指一些预定义的文件夹&#xff0c;用于存储特定类型的数据或文件。这些文件夹通常由操作系统或应用程序使用&#xff0c;但用户也可以访问和管理它…

java序列化和反序列化基础学习

一、前言 前文分析了java的反序列化的DNSURL利用链&#xff0c;但是对于java反序列化的一些过程不是很了解&#xff0c;这篇主要记录下学习java反序列基础知识 二、原理 概念 1、什么是序列化和反序列化 &#xff08;1&#xff09;Java序列化是指把Java对象转换为字节序列…

24 JavaScript学习:this

this在对象方法中 在 JavaScript 中&#xff0c;this 的值取决于函数被调用的方式。在对象方法中&#xff0c;this 引用的是调用该方法的对象。 让我们看一个简单的例子&#xff1a; const person {firstName: John,lastName: Doe,fullName: function() {return this.firstN…

element的textarea字体与input字体不一致解决方案

实现 <style scoped> .el-textarea /deep/ .el-textarea__inner{font-family: "Helvetica Neue",Helvetica,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","微软雅黑",Arial,sans-serif; } </style>效…

【Flutter】极光推送配置流程(小米厂商通道) 章二

前言 继【Flutter】极光推送配置流程(极光通道/华为厂商/IOS) 章一 并且&#xff0c;我大概率不会去修改第一篇文章的内容。 随着我自己在配置公司的项目的同时&#xff0c;我希望一直更新这个推送系列文章。 在章一配置完后&#xff0c;也是出现了一些问题&#xff0c;所以本…

【IC设计】CRC(循环冗余校验)

目录 理论解读CRC应用CRC算法参数解读常见CRC参数模型 设计实战校招编程题分类串行输入、并行计算、串行输出**串行计算、串行输出&#xff08;线性移位寄存器&#xff09;LSFR线性移位寄存器&#xff08;并转串&#xff09;(并行计算)模二除 总结——串行、并行计算的本质参考…

nowcoder——删除公共字符

删除公共字符_牛客题霸_牛客网 (nowcoder.com) 对于这个题其实就是删除字符串1中在字符串2中出现过的字符。我们来分析下解题步骤&#xff1a; 思路一&#xff1a;遍历字符串1&#xff0c;如果遍历到的字符在字符串2中出现&#xff0c;则将该字符之后的所有字符向前移一位。 …

[高质量]2024五一数学建模A题保奖思路+代码(后续会更新)

你的点赞收藏是我继续更新的最大动力&#xff0c;可点击文末卡片获取更多资料 你是否在寻找数学建模比赛的突破点&#xff1f; 作为经验丰富的数学建模团队&#xff0c;我们将为你带来2024 年华东杯&#xff08;A题&#xff09;的全面解析包。这个解决方案包不仅包括完整的代…

[C语言]典型例题:小蚂蚁爬橡皮筋、买汽水问题、导致单词块、菱形打印……

1、小蚂蚁爬橡皮筋问题 假设橡皮筋长4m&#xff0c;小蚂蚁从一端爬向另一端每天爬1m&#xff0c;且每爬了1m&#xff0c;橡皮筋会立马拉伸4m&#xff0c;在理想条件下&#xff0c;小蚂蚁需要爬多少天可以到达橡皮筋的另一端&#xff1f; 不仔细想&#xff0c;我们很可能认为小蚂…