AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

    • 主页
    • 系统&网络
    • Ubuntu
    • Unix
    • DBA
    • Computer
    • Coding
    • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题

问题[tomcat](server)

Martin Hope
Malkavian
Asked: 2024-11-28 18:59:05 +0800 CST

Tomcat 9 进入启动循环无法在地址 [localhost] 和端口 [8005] 上创建服务器关闭套接字

  • 4

我尝试使用 apache tomcat 9.0.97 和 java openjdk-11.0.25+9,一切似乎都很好。在其他人修改了某些东西后,我注意到服务器在启动时进入了无限循环。为了解决这个问题,我删除了所有 war 文件并在 webapp 中添加了文件夹,然后启动了服务器并跟踪 catalina.out。我可以看到这个严重的错误

SEVERE [main] org.apache.catalina.core.StandardServer.await Failed to create server shutdown socket on address [localhost] and port [8005] (base port [8005] and offset [0])
java.net.BindException: Address already in use (Bind failed)
    at java.base/java.net.PlainSocketImpl.socketBind(Native Method)
    at java.base/java.net.AbstractPlainSocketImpl.bind(AbstractPlainSocketImpl.java:452)
    at java.base/java.net.ServerSocket.bind(ServerSocket.java:395)
    at java.base/java.net.ServerSocket.<init>(ServerSocket.java:257)
    at org.apache.catalina.core.StandardServer.await(StandardServer.java:537)
    at org.apache.catalina.startup.Catalina.await(Catalina.java:825)
    at org.apache.catalina.startup.Catalina.start(Catalina.java:773)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:566)
    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:345)
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:473)

你有解决方案吗?

tomcat
  • 1 个回答
  • 32 Views
Martin Hope
Daniel Sandberg
Asked: 2023-10-17 08:06:49 +0800 CST

Tomcat 9 - 使用非阻塞 IO 连接器时,gracefulStopAwaitMillis 是否“正确”等待请求完成?

  • 5

使用 NIO 连接器时,Tomcat 9.0.80+ 如何处理正常关闭?

<Connector port="8080" protocol="HTTP/1.1"
       connectionTimeout="20000" 
       gracefulStopAwaitMillis="15000" 
       bindOnInit="false" 
       protocol="org.apache.coyote.http11.Http11NioProtocol" />

我已经在使用 HAproxy 进行重试、重新调度和运行状况检查。我还配置了 Tomcat 以使用正常关闭和延迟绑定(根据建议),让任何反向代理/负载均衡器重新分派到另一个后端。但我不确定它是否真的等待进程内请求完成处理后再退出。我的测试表明是这样,但我偶尔会从位于 HAproxy(高级路由、API 网关)前面的面向公众的 ALB(TLS、WAF)收到 HTTP 502,然后一大堆 Tomcat 服务器滚动重启。

tomcat
  • 1 个回答
  • 20 Views
Martin Hope
quangkid
Asked: 2023-05-19 15:26:51 +0800 CST

YUM安装tomcat9后startup.sh文件不存在

  • 5

我用下面的命令安装了tomcat9

sudo su
yum install tomcat9

但是在tomcat9目录下/usr/share/tomcat9/bin,startup.sh找不到该文件。下面只有3个文件:

$ls /usr/share/tomcat9/bin/
bootstrap.jar  catalina-tasks.xml  tomcat-juli.jar

我尝试运行tomcat9也报错:

/usr/sbin/tomcat9 start
Failed to start tomcat.service: Unit tomcat.service not found.

汤姆猫版本:

$java -cp /usr/share/tomcat9/lib/catalina.jar org.apache.catalina.util.ServerInfo
Server version: Apache Tomcat/9.0.71
Server built:   Apr 13 2023 00:00:00 UTC
Server number:  9.0.71.0
OS Name:        Linux
OS Version:     6.1.25-37.47.amzn2023.x86_64
Architecture:   amd64
JVM Version:    17.0.7+8-LTS-224
JVM Vendor:     Oracle Corporation

操作系统是 Amazon Linux 2023

$cat /etc/os-release
NAME="Amazon Linux"
VERSION="2023"
ID="amzn"
ID_LIKE="fedora"
VERSION_ID="2023"
PLATFORM_ID="platform:al2023"
PRETTY_NAME="Amazon Linux 2023"
ANSI_COLOR="0;33"
CPE_NAME="cpe:2.3:o:amazon:amazon_linux:2023"
HOME_URL="https://aws.amazon.com/linux/"
BUG_REPORT_URL="https://github.com/amazonlinux/amazon-linux-2023"
SUPPORT_END="2028-03-01"

我如何修复它才能运行?

tomcat
  • 1 个回答
  • 26 Views
Martin Hope
user1933738
Asked: 2022-03-17 05:03:26 +0800 CST

Tomcat TldScanner 中的忽略目录

  • 0

我运行一个基于 Java 的 CMS,它将缓存的图像放在 WEB-INF 文件夹中,特别是在 /WEB-INF/imagecache/. 不幸的是,这个目录变得非常大,有很多嵌套路径,并且 Tomcat 重新启动变得非常缓慢 - 将日志级别设置为org.apache.jasper.servlet.TldScanner.levelFINE 说明了原因,有大量这样的消息:

16-Mar-2022 13:50:56.109 FINE [localhost-startStop-1] org.apache.jasper.servlet.TldScanner.scanResourcePaths No TLD files were found in resource path [/WEB-INF/imagecache/<snip>/].

有没有办法完全禁止特定目录中的 TldScanner?

tomcat java tomcat8
  • 1 个回答
  • 197 Views
Martin Hope
hfontanez
Asked: 2022-03-09 13:38:21 +0800 CST

在 PUT 上测试 Spring Boot API 会导致 HTTP 405(不允许的方法)

  • 0

我创建了一个部署到 Tomcat 服务器的 API。在开发过程中,我会从 Eclipse 启动应用程序并使用 Postman 测试端点。在 Eclipse 中,应用程序运行良好。我会看到我的机器人(使用 Selenium WebDriver 创建)启动、点击目标页面、单击脚本元素并完成该过程。

我修改了 POM 以构建我使用 Tomcat Manager App 页面手动部署的 WAR 文件。据我所知,已部署的 WAR 运行良好。我决定使用 Postman 运行相同的测试;显然将“localhost”更改为实际的IP地址和端口。不幸的是,我收到了这个 HTTP 405 错误,我不知道为什么。我认为需要在 Tomcat 中配置一些东西,但我不知道具体需要做什么。

我根据这个配置了Tomcat,仍然没有运气: http: //www.codereye.com/2010/12/configure-tomcat-to-accept-http-put.html

tomcat
  • 0 个回答
  • 822 Views
Martin Hope
Vinayak
Asked: 2021-12-18 22:51:22 +0800 CST

带有 HTTPD 前端的 Tomcat。无法访问管理器应用

  • 0

我有一个 HTTPD 服务器,它在 Tomcat 服务器前面进行 LDAP 身份验证。我的应用程序驻留在 Tomcat 中。

我正在通过 tomcat 的 AJP 连接器将经过身份验证的请求代理到我的应用程序。现在我想关闭 HTTP 连接器。但是无法访问管理器应用程序(说 403 错误)。

  • 当我访问 http://localhost/my_app. 一切正常。
  • 当我访问 http://localhost/manager/ 时,它给了我 403 错误。
  • HTTP 连接器是开放的,即 http://localhost:port/manager,它是可访问的。
tomcat proxy ldap reverse-proxy httpd
  • 2 个回答
  • 102 Views
Martin Hope
Lesha Pipiev
Asked: 2021-11-26 05:10:14 +0800 CST

/bin/false 用户下无法运行命令

  • 0

森托斯 8.

有snowuser:

[snowuser@snowcannon-01 ~]$ cat /etc/passwd | grep snowuser  
snowuser:x:1002:1002::/home/snowuser:/bin/bash   
[snowuser@snowcannon-01 ~]$ groups  
snowuser wheel

有tomcat用户:

[snowuser@snowcannon-01 ~]$ cat /etc/passwd | grep tomcat  
tomcat:x:1003:1003::/opt/tomcat:/bin/false  


cat /etc/group | grep "tomcat\|snowuser"  
wheel:x:10:ydyachuk,amsliusar,snowuser  
snowuser:x:1002:   
tomcat:x:1003:   

尝试在tomcat用户下运行 Tomcat 的启动脚本:

/bin/su tomcat -c /opt/tomcat/bin/startup.sh

但是没有任何意义,既没有出现任何错误消息,也没有执行Tomcat进程。

我只有一个细节是该命令正在执行时出现错误:

[snowuser@snowcannon-01 ~]$ echo $?
1

似乎tomcat用户对脚本执行具有适当的权限:

[snowuser@snowcannon-01 ~]$ ll /opt/tomcat/bin/startup.sh 
-rwxr-xr-x. 1 tomcat tomcat 1904 Nov 11 15:14 /opt/tomcat/bin/startup.sh

如何让 Tomcat 运行?

tomcat centos su centos8
  • 1 个回答
  • 188 Views
Martin Hope
Mirza Prangon
Asked: 2021-10-09 01:45:26 +0800 CST

无法在 Docker 中使用 httpd ajp 代理访问 Tomcat servlet

  • 0

Docker、httpd 和 tomcat 对我来说是新的。

我想做的:通过httpd ajp反向代理访问tomcat servlet。

我在同一个桥接网络下制作两个容器,一个运行 httpd,另一个运行 tomcat。

问题:我无法通过httpd访问tomcat。Httpd 返回 403 错误。如果我将它暴露给主机,我可以通过端口 8080 访问它。我读过很多文章,但不明白我做错了什么。根据我的理解,当前配置应该可以工作,但我肯定遗漏了一些东西。

错误页面截图

请给我指点我做错了什么。

我的配置和 dockerfiles 请在此处查看 Git 存储库。我通过首先创建图像来运行容器并按照以下方式运行

# Start web container
docker run -dit --name httpd.container -p 80:80 --network extope-network httpd-101-image
# Start AP container
docker run -dit --name tomcat.container -p 8080:8080 --network extope-network --add-host=host.docker.internal:host-gateway tomcat-101-image
tomcat mod-proxy ajp apache-2.4 docker
  • 2 个回答
  • 434 Views
Martin Hope
Nyxeria
Asked: 2021-10-08 01:25:23 +0800 CST

将 Tomcat 9 配置为内部 Web 服务器的代理

  • 0

我在使用 Tomcat 9 的服务器上有一个 Web 应用程序。它已为一个 Web 应用程序设置,并具有证书和域等。现在我在网络上有另一台服务器,它托管另一个应用程序。到目前为止,它一直是一个内部工具,现在需要从互联网上访问它。不幸的是,由于某种原因,另一个证书和域花费了绝对荒谬的金额,现在我正在寻找是否可以设置 Tomcat 来服务另一个(普通 LAMP)服务器并充当代理,以便在访问某个 url 时,例如 tomcatserver.example/lampserver 等。Tomcat 会将流量代理到另一台服务器。

两台服务器都运行 Ubuntu,如有必要,我拥有 root 权限。我还可以要求服务器提供商打开互联网端口。

tomcat ubuntu proxy web-server web-hosting
  • 1 个回答
  • 106 Views
Martin Hope
Gustavo
Asked: 2021-06-19 07:38:35 +0800 CST

Tomcat 9 会话存储在 Ubuntu 18 中的什么位置?

  • 2

下面的手册说:

Apache Tomcat 9 配置参考 - 管理器组件

介绍

Manager 元素可以嵌套在 Context 组件中。如果不包含,将自动创建默认的 Manager 配置

我的上下文没有嵌套的 Manager 元素:

<Context>
    <WatchedResource>WEB-INF/web.xml</WatchedResource>
    <WatchedResource>WEB-INF/tomcat-web.xml</WatchedResource>
    <WatchedResource>${catalina.base}/conf/web.xml</WatchedResource>

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

因此,将使用默认值:

管理器组件 - 标准管理器实现

pathname:如果可能,在应用程序重新启动时将保留会话状态的文件的绝对或相对(相对于此上下文的工作目录)路径名。默认值为“ SESSIONS.ser ”。

问题是,我在哪里可以找到这个SESSIONS.ser文件?

tomcat
  • 1 个回答
  • 408 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助
subwaysurfers
my femboy roommate

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve