位置: IT常识 - 正文

Linux--Tomcat部署web服务接口访问报404(linux部署tomcat的war包)

编辑:rootadmin
Linux--Tomcat部署web服务接口访问报404

推荐整理分享Linux--Tomcat部署web服务接口访问报404(linux部署tomcat的war包),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:linux系统tomcat部署,linux tomcat 部署项目,linux tomcat部署,linux中tomcat部署,linux tomcat 部署项目,linux中tomcat部署web项目,linux部署tomcat的war包,linux中tomcat部署web项目,内容如对您有帮助,希望把文章链接给更多的朋友!

前两天在往服务器上的Tomcat部署Web项目上栽了跟头,Tomcat首页可以正常启动,但是web项目里的所有接口访问都报404,折腾了好久才解决,记录一下分享给大家。

一、回顾如何在tomcat部署项目。1、熟悉tomcat下各级目录作用:Linux--Tomcat部署web服务接口访问报404(linux部署tomcat的war包)

1)bin目录下是有startup和shutdown这两个启动和停止的脚本的。.bat在windows系统使用, .sh在linux系统使用。 2)log目录中catalina.out为tomcat启动日志。启动后可观察启动的情况。 3)webapp目录一般用于放置待部署项目的war包。 4)conf目录用于存放tomcat的配置文件。

2、重点关注server.xml配置<?xml version="1.0" encoding="UTF-8"?><!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.--><!-- Note: A "Server" is not itself a "Container", so you may not define subcomponents such as "Valves" at this level. Documentation at /docs/config/server.html --><Server port="8005" shutdown="SHUTDOWN"> <Listener className="org.apache.catalina.startup.VersionLoggerListener"/> <!-- Security listener. Documentation at /docs/config/listeners.html <Listener className="org.apache.catalina.security.SecurityListener" /> --> <!--APR library loader. Documentation at /docs/apr.html --> <Listener SSLEngine="on" className="org.apache.catalina.core.AprLifecycleListener"/> <!--Initialize Jasper prior to webapps are loaded. Documentation at /docs/jasper-howto.html --> <Listener className="org.apache.catalina.core.JasperListener"/> <!-- Prevent memory leaks due to use of particular java/javax APIs--> <Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener"/> <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener"/> <Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener"/> <!-- Global JNDI resources Documentation at /docs/jndi-resources-howto.html --> <GlobalNamingResources> <!-- Editable user database that can also be used by UserDatabaseRealm to authenticate users --> <Resource auth="Container" description="User database that can be updated and saved" factory="org.apache.catalina.users.MemoryUserDatabaseFactory" name="UserDatabase" pathname="conf/tomcat-users.xml" type="org.apache.catalina.UserDatabase"/> </GlobalNamingResources> <!-- A "Service" is a collection of one or more "Connectors" that share a single "Container" Note: A "Service" is not itself a "Container", so you may not define subcomponents such as "Valves" at this level. Documentation at /docs/config/service.html --> <Service name="Catalina"> <!--The connectors can use a shared executor, you can define one or more named thread pools--> <!-- <Executor name="tomcatThreadPool" namePrefix="catalina-exec-" maxThreads="150" minSpareThreads="4"/> --> <!-- A "Connector" represents an endpoint by which requests are received and responses are returned. Documentation at : Java HTTP Connector: /docs/config/http.html (blocking & non-blocking) Java AJP Connector: /docs/config/ajp.html APR (HTTP/AJP) Connector: /docs/apr.html Define a non-SSL HTTP/1.1 Connector on port 8080 --> <Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/> <!-- A "Connector" using the shared thread pool--> <!-- <Connector executor="tomcatThreadPool" port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> --> <!-- Define a SSL HTTP/1.1 Connector on port 8443 This connector uses the BIO implementation that requires the JSSE style configuration. When using the APR/native implementation, the OpenSSL style configuration is required as described in the APR/native documentation --> <!-- <Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol" maxThreads="150" SSLEnabled="true" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" /> --> <!-- Define an AJP 1.3 Connector on port 8009 --> <Connector port="8009" protocol="AJP/1.3" redirectPort="8443"/> <!-- An Engine represents the entry point (within Catalina) that processes every request. The Engine implementation for Tomcat stand alone analyzes the HTTP headers included with the request, and passes them on to the appropriate Host (virtual host). Documentation at /docs/config/engine.html --> <!-- You should set jvmRoute to support load-balancing via AJP ie : <Engine name="Catalina" defaultHost="localhost" jvmRoute="jvm1"> --> <Engine defaultHost="localhost" name="Catalina"> <!--For clustering, please take a look at documentation at: /docs/cluster-howto.html (simple how to) /docs/config/cluster.html (reference documentation) --> <!-- <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/> --> <!-- Use the LockOutRealm to prevent attempts to guess user passwords via a brute-force attack --> <Realm className="org.apache.catalina.realm.LockOutRealm"> <!-- This Realm uses the UserDatabase configured in the global JNDI resources under the key "UserDatabase". Any edits that are performed against this UserDatabase are immediately available for use by the Realm. --> <Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/> </Realm> <Host appBase="webapps" autoDeploy="true" name="localhost" unpackWARs="true"> <!-- SingleSignOn valve, share authentication between web applications Documentation at: /docs/config/valve.html --> <!-- <Valve className="org.apache.catalina.authenticator.SingleSignOn" /> --> <!-- Access log processes all example. Documentation at: /docs/config/valve.html Note: The pattern used is equivalent to using pattern="common" --> <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" pattern="%h %l %u %t &quot;%r&quot; %s %b" prefix="localhost_access_log." suffix=".txt"/> <Context docBase="SpringDataRedisDemo" path="/SpringDataRedisDemo" reloadable="true" source="org.eclipse.jst.jee.server:SpringDataRedisDemo"/></Host> </Engine> </Service></Server>

通常我们会关注 tomcat的启动端口和停止端口,确保不被占用。

<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/><Server port="8005" shutdown="SHUTDOWN">

如果被占用也可以在启动日志中查到类似 “Port 8080 was already in use” 的提示。这时我们可以把端口号换一下,再重启。

----如果不是这个原因导致,下面才是重点------二、真正原因分析

我们来看下server.xml的另一项配置

<Host appBase="webapps" autoDeploy="true" name="localhost" unpackWARs="true">

appBase=“webapps”,它意味着tomcat的默认项目读取目录为webapps,这也就是为什么我们都要把项目放置在webapps下。 但是还有一个要注意的点就是,Tomcat默认只会读取webapps下的ROOT目录,通常我们打的war包如test01.war如果放置在ROOT目录下,那么启动tomcat你会看到webapps下会多一个test01的目录。但是tomcat只读ROOT目录下的文件。这就是为什么你的接口都报404,是因为它就获取不到你的资源。

三、解决方式:

修改webapps下的war包名称为ROOT.war,重新启动Tomcat即可。当看到你的war包解压到ROOT目录下的时候。就可以了。

本文链接地址:https://www.jiuchutong.com/zhishi/299851.html 转载请保留说明!

上一篇:大二学生web期末大作业 在线电影网站 HTML+CSS+JS(大二期末要考试吗)

下一篇:前端搭建猜数字游戏(内附源码)(javascript猜数字游戏+表单)

  • 小米手环睡眠监测在哪(小米手环睡眠监测要戴着吗)

    小米手环睡眠监测在哪(小米手环睡眠监测要戴着吗)

  • oppo手机卸载软件在哪里能找到(oppo手机卸载软件显示桌面已锁定)

    oppo手机卸载软件在哪里能找到(oppo手机卸载软件显示桌面已锁定)

  • iphone已停用请15分钟后再试什么意思(iphone已停用请13分钟后再试怎么解决)

    iphone已停用请15分钟后再试什么意思(iphone已停用请13分钟后再试怎么解决)

  • evf电池是什么意思(evt电池)

    evf电池是什么意思(evt电池)

  • 小米12系统什么时候出(小米12.02系统怎么样)

    小米12系统什么时候出(小米12.02系统怎么样)

  • vivoy50支持5g吗(vivoy50支持电信4g吗)

    vivoy50支持5g吗(vivoy50支持电信4g吗)

  • 微博异常状态需要激活(微博 异常状态)

    微博异常状态需要激活(微博 异常状态)

  • 苹果手机刷朋友圈卡顿怎么回事(苹果手机刷朋友圈时下面变黑一下)

    苹果手机刷朋友圈卡顿怎么回事(苹果手机刷朋友圈时下面变黑一下)

  • oppo手机导航键在哪里设置(oppo手机导航键震动怎么取消)

    oppo手机导航键在哪里设置(oppo手机导航键震动怎么取消)

  • fttb和ftth的不同点(ftth和fttp)

    fttb和ftth的不同点(ftth和fttp)

  • 7p的电池可以用在8p吗(7p的电池用了快6年了)

    7p的电池可以用在8p吗(7p的电池用了快6年了)

  • ipad关机了还能定位吗(ipad无法开机怎么办)

    ipad关机了还能定位吗(ipad无法开机怎么办)

  • 优酷能不能添加好友(优酷可以添加好友吗)

    优酷能不能添加好友(优酷可以添加好友吗)

  • 安装宽带需要电脑吗(安装宽带需要电脑调试吗)

    安装宽带需要电脑吗(安装宽带需要电脑调试吗)

  • iphonex是iphone10吗(iphone x是苹果10吗)

    iphonex是iphone10吗(iphone x是苹果10吗)

  • ipad有3dtouch吗(苹果ipad有没有3dtouch功能)

    ipad有3dtouch吗(苹果ipad有没有3dtouch功能)

  • 微信电费余额多久更新一次(微信电费余额多久扣一次)

    微信电费余额多久更新一次(微信电费余额多久扣一次)

  • 淘宝红包签到在哪(淘宝红包签到在哪里怎么找不到)

    淘宝红包签到在哪(淘宝红包签到在哪里怎么找不到)

  • vivo手机怎么投屏到电视(vivo手机怎么投屏到苹果平板上)

    vivo手机怎么投屏到电视(vivo手机怎么投屏到苹果平板上)

  • 什么是拼多多新用户(拼多多尝新)

    什么是拼多多新用户(拼多多尝新)

  • 小米9pro怎么开启反向充电(小米9pro怎么开空调)

    小米9pro怎么开启反向充电(小米9pro怎么开空调)

  • 苹果恢复大师可以恢复多久的信息(苹果恢复大师可以恢复照片吗)

    苹果恢复大师可以恢复多久的信息(苹果恢复大师可以恢复照片吗)

  • x27可以面部解锁吗(x27可以人脸识别解锁吗)

    x27可以面部解锁吗(x27可以人脸识别解锁吗)

  • vivoy97otg功能在哪

    vivoy97otg功能在哪

  • 2014512是红米几(2014912是红米什么型号)

    2014512是红米几(2014912是红米什么型号)

  • 无向图的邻接表怎么画(无向图的邻接表表示图)

    无向图的邻接表怎么画(无向图的邻接表表示图)

  • Window7+CentOS 6.5双系统安装图文方法

    Window7+CentOS 6.5双系统安装图文方法

  • Linux主流架构运维工作简单剖析讲解(linux架构师是做什么的)

    Linux主流架构运维工作简单剖析讲解(linux架构师是做什么的)

  • 【手撕源码】vue2.x中keep-alive源码解析(手撕视频教程全集)

    【手撕源码】vue2.x中keep-alive源码解析(手撕视频教程全集)

  • 股东利润分配怎么做账
  • 车辆购置税的纳税义务发生时间为
  • 卖家电税是多少
  • 报销流程如何操作视频
  • 无追索权保理占用谁的额度
  • 企业出包工程预付的工程款
  • 金税盘地区编号淄博
  • 企业存货占用资金的比例
  • 贸易公司发票怎么平衡
  • 高新企业帐务流程
  • 不开发票的收入怎么处理?
  • 事业单位库存现金
  • 公司购买销售材料怎么写会计分录?
  • 税务现金流
  • 企业间借款利息涉税处理
  • 开普票时开票码怎么开
  • 增值说税率怎么计算
  • 特朗普政府公布大力度减税方案
  • 尚未开发的土地使用权摊销
  • 质保金付款时怎么付
  • 出口业务类型怎么写
  • 单位为员工支付医疗费
  • 跨年度的房租发票怎么做账
  • linux 列表
  • win10下载软件被阻止安装怎么办
  • 华为p50e手机价格及参数
  • php在apache中有哪些工作方式
  • 进口货物怎样报关
  • windows7中可以设置控制计算机
  • 盈余公积转增资本会计科目
  • 物业费开增值税专用发票
  • html怎么做
  • 固定资产管理系统多少钱
  • 管理费用属于产品成本项目的费用吗
  • 小规模纳税人工商年报网上怎么报
  • 艾罗芒阿
  • 记账凭证错误用什么更正
  • chown命令和chmod
  • 企业所得税不得核定征收行业
  • 无效发票进项税额抵扣
  • 银行存款调节表调整后的银行存款余额
  • mysql和sqlserver的sql语句一样吗
  • 消费税会计处理的设置
  • 以前年度错误账务处理
  • 工商年报和税务年报有什么区别
  • 退货销售折让会计分录
  • 建筑业老项目和新项目如何计税
  • 红字冲销表示负数吗
  • 网上购物退款后未退回物品怎么投诉
  • 营改增后服务业账务处理
  • 油费可以进项抵税吗
  • 建筑业人工费怎么做账
  • 资本公积可用于弥补企业亏损
  • 个人银行帐户可以代理销户吗?
  • 判断成本法核算方法
  • 什么是折旧费
  • 建账的注意事项
  • 私人银行卡给公司走账有影响吗
  • Linux下MySQL 5.5/5.6的修改字符集编码为UTF8的方法
  • windows自带截图保存在哪里
  • win10两个网络怎么选择网络
  • win back什么意思
  • win8怎么修改电脑密码修改
  • Win10 64位系统下QQ语音和QQ视频音量很小的两种解决方法
  • win8系统损坏怎么修复
  • win10预览版绿屏重启解决
  • 最新版win10版本号
  • cocos2dx框架
  • jQuery中$.ajax()方法参数解析
  • 从零开始学什么好
  • 利用pm2部署多个设备
  • jquery常用的事件绑定函数有哪些
  • jQuery 选择同时包含两个class的元素的实现方法
  • 国家税务局湖南省电子税务局app下载
  • 小规模纳税人季报网上申报流程
  • 运输公司抵扣
  • 北京海淀区国税有几个办税大厅?
  • 税务协查工作亮点
  • 拟录用是正式录用吗
  • 签订设计合同
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设