标签: tomcat

Tomcat可以在不重新启动的情况下重新加载其SSL证书吗?

我有一个后台进程,可以更新 Tomcat 用于其 SSL 凭据的密钥库。我希望能够让 Tomcat 自动重新加载它,而无需手动重启。

是否可以在不重新启动的情况下让 Tomcat 重新加载它,或者是否可以通过编程方式来代替它?

ssl tomcat

16
推荐指数
3
解决办法
2万
查看次数

Apache Tomcat 在 300 个连接后窒息

我们在 EC2 上托管的 Tomcat 前面有一个 apache 网络服务器,实例类型特大,内存为 34GB。

我们的应用程序处理大量外部网络服务,我们有一个非常糟糕的外部网络服务,在高峰时段需要将近 300 秒来响应请求。

在高峰时段,服务器只有大约 300 个 httpd 进程而窒息。ps -ef | grep httpd | wc -l =300

我在谷歌上搜索并发现了许多建议,但似乎没有任何效果..以下是我所做的一些配置,这些配置直接取自在线资源。

我在 apache 和 tomcat 中都增加了最大连接数和最大客户端数的限制。这是配置详细信息:

//阿帕奇

   <IfModule prefork.c>
    StartServers 100
    MinSpareServers 10
    MaxSpareServers 10
    ServerLimit 50000
    MaxClients 50000
    MaxRequestsPerChild 2000
    </IfModule>
Run Code Online (Sandbox Code Playgroud)

//tomcat

    <Connector port="8080" protocol="org.apache.coyote.http11.Http11NioProtocol"
           connectionTimeout="600000"
           redirectPort="8443"
           enableLookups="false" maxThreads="1500"
           compressableMimeType="text/html,text/xml,text/plain,text/css,application/x-javascript,text/vnd.wap.wml,text/vnd.wap.wmlscript,application/xhtml+xml,application/xml-dtd,application/xslt+xml"
           compression="on"/>
Run Code Online (Sandbox Code Playgroud)

//sysctl.conf

 net.ipv4.tcp_tw_reuse=1
 net.ipv4.tcp_tw_recycle=1
 fs.file-max = 5049800
 vm.min_free_kbytes = 204800
 vm.page-cluster = 20
 vm.swappiness = 90
 net.ipv4.tcp_rfc1337=1
 net.ipv4.tcp_max_orphans = 65536
 net.ipv4.ip_local_port_range = 5000 65000
 net.core.somaxconn …
Run Code Online (Sandbox Code Playgroud)

tomcat performance-tuning tcp apache-2.2

16
推荐指数
3
解决办法
6万
查看次数

阿帕奇的替代品

我们当前的堆栈是 Apache + Tomcat + MySQL,使用ProxyPassAJP 将请求从 Apache 发送到 Tomcat。我们还在相同的站点上为 Wordpress 运行 PHP,因此需要工作.htaccess文件。为了解决一个烦人的问题(请参阅此堆栈溢出页面),我们正在考虑替代堆栈。请注意,我们通常非常喜欢 apache,但这个问题是个障碍:如果我们不能修复它,我们就不能使用 Apache。

替代方案包括:

  • 单独的Tomcat
  • Glassfish(Java 应用服务器,从 Tomcat 分叉)
  • 码头(Java 服务器)
  • 树脂
  • LightTPD(轻量级 HTTP 服务器)
  • Nginx(轻量级 HTTP 服务器)

在我看来,解决方案分为两个阵营:纯 Java 阵营,如 Glassfish;或者分裂阵营,比如我们现在的Apache + Tomcat。我们喜欢纯 Java 解决方案的想法,因为更少的活动部件意味着更少的错误;但是它们中的任何一个都支持 PHP、.htaccess文件等吗?

从理论上讲,我们可以用另一种方式进行拆分——有一个简单的前端,只在需要这些功能的那些位上代理 Apache——但实际上这将是 80% 的请求。

人们建议什么选择?

tomcat glassfish jetty nginx apache-2.2

15
推荐指数
2
解决办法
3631
查看次数

真的有必要运行 Apache 作为 Glassfish/JBoss/Tomcat 的前端吗?

我主要是一名 Java 开发人员,我向您提出了一个跨越开发人员和系统管理员之间鸿沟的问题。

多年前,当将 Tomcat 作为应用程序服务器运行是一件新鲜事时,习惯上将 Apache 置于前端。据我了解,这样做是因为:

  1. Java 被认为是“慢”的,让 Apache 直接提供静态内容是有帮助的。
  2. 除非以 root 身份运行,否则 Tomcat 无法侦听端口 80/443,这很危险。

Java 不再被认为是缓慢的,我怀疑将 Apache 添加到组合中是否真的有助于加快速度。

至于端口问题,如今可能有更简单的方法将应用服务器连接到端口 80/443。

所以我的问题是——这些天用 Apache 前端 Java Webapps 真的有什么好处吗?如果是这样,Apache 仍然是要走的路吗?我应该看看 Nginx 吗?如果这很重要,我使用的是 Glassfish 而不是 Tomcat。

tomcat glassfish apache-2.2

15
推荐指数
2
解决办法
9087
查看次数

用supervisor控制tomcat

通过主管进行控制时,有没有办法“优雅地”关闭tomcat?

我的理解是 Tomcat 的 shutdown.sh 脚本在关闭端口上与 tomcat 对话以启动正常关闭。主管似乎没有办法指定关闭“命令”,只能使用信号。

有没有人成功地将主管与 tomcat 一起使用?

此外,由于 tomcat 的 startup.sh 脚本启动了 java 进程,我一直将生成的 java 命令直接复制到 supervisor 中,但是由于所有环境设置,这不如使用 startup.sh 脚本好。有没有办法让主管使用 startup.sh 脚本但仍然跟踪生成的子 Java 进程?

tomcat supervisord

14
推荐指数
2
解决办法
2万
查看次数

为什么 aws 云编队不安装我指定的软件包?

我对 AWS 服务很陌生。我正在尝试使用 AWS 云格式并创建了一个模板。该模板没有错误,我可以使用它创建机器。

但是我在模板中添加了一些配置,以便在启动期间安装 tomcat、git 和其他东西。但这不会发生在我身上。

这是我用于安装 tomcat 的部分代码:

"Resources": {
    "Tomcat": {
        "Type": "AWS::EC2::Instance",
        "Metadata": {
            "AWS::CloudFormation::Init": {
                "config": {
                    "packages": {
                        "apt": {
                            "tomcat6": [],
                            "git": [],
                        }
                    }
                }
            }
        },
Run Code Online (Sandbox Code Playgroud)

但是当我登录机器时既tomcat没有git也没有安装!

提前致谢。

ubuntu tomcat amazon-web-services amazon-cloudformation

14
推荐指数
2
解决办法
2万
查看次数

Tomcat 7 尾随斜杠问题与 webapps

最近我将我的 tomcat 服务器从 6.x 版本升级到了最新的 7.x 版本。

我想出了一点麻烦,希望得到帮助。

我有一个应用程序调用 MyApp

在 tomcat6 上,当我访问http://www.example.com/MyApp/page/ 时, 我通常会得到想要的结果。

现在,在 tomcat7 上,访问相同的确切 url(带有尾部斜杠)我收到错误:“资源不可用”,因为 tomcat 认为 /MyApp/page/ 是一个完整的 webapp 名称而不是请求名称MyApp webapp 下的页面。

我需要在我的 url 末尾加上斜杠,否则我会收到错误:“HTTP 状态 405 - 不支持请求方法‘GET’”,这没关系,因为我真的不允许“页面”请求的 GET 方法.

如果有人知道如何告诉 tomcat 在现有 webapp 路径之后的斜杠不应该假设将它重定向到新的 webapp 调用整个“字符串”并像在 tomcat6 上那样处理请求,那就太好了!

tomcat tomcat6

13
推荐指数
1
解决办法
8742
查看次数

开源tomcat日志查看器

我正在管理几个 tomcat 实例(大约 30-35 个)并寻找一些控制台来集中日志。我之前尝试过 php-syslog-ng(没有使用 tomcat),发现它很有用。我希望这些软件具有以下一些功能:

- 根据异常的严重性高亮语法。- 堆栈跟踪和嵌套异常的树视图。

加分点:

- 当某些模式匹配时报警。

tomcat java log-files logging syslog

12
推荐指数
2
解决办法
2万
查看次数

配置 IIS 7 反向代理以连接到 TeamCity Tomcat

我们配置了IIS 7网络服务器,并希望在同一台机器上使用TomcatTeamCity安装创建反向代理

IIS 服务器站点是https://somesite,我希望 TeamCity 显示为https://somesite/teamcity重定向到http://localhost:portnumber.

我已经安装了IIS URL 重写扩展应用程序请求路由来尝试设置反向代理,但无法使其工作。

我找到的最接近的答案是一个旧的 StackOverflow 问题:https ://stackoverflow.com/questions/331755/how-do-i-setup-teamcity-for-public-access-over-https
不幸的是没有任何工作例子。

我已经搜索了很多,但似乎找不到相关的例子。

任何帮助表示赞赏!

rewrite iis-7 tomcat reverse-proxy teamcity

12
推荐指数
2
解决办法
1万
查看次数

Apache httpd 错误“代理:ap_get_scoreboard_lb”与 ProxyPass

我设置了 apache 来代理 tomcat,但是当我定位页面时出现以下错误。我有时会得到一个空白页或 503:

[错误]

[Mon Dec 03 04:58:16 2012] [error] proxy: ap_get_scoreboard_lb(2) failed in child 29611 for worker proxy:reverse
[Mon Dec 03 04:58:16 2012] [error] proxy: ap_get_scoreboard_lb(1) failed in child 29611 for worker https://localhost:8443/
[Mon Dec 03 04:58:16 2012] [error] proxy: ap_get_scoreboard_lb(0) failed in child 29611 for worker http://localhost:8080/
Run Code Online (Sandbox Code Playgroud)

我在 vm 上配置了两个 vhost,如下所示:

[http 主机]

<VirtualHost *:80>
  ServerName www.mysite.net
  ServerAlias mysite.net

  ProxyRequests Off
  ProxyPreserveHost On

  <Proxy *>
    Order deny,allow
    Allow from all
  </Proxy>

  ProxyPass / http://localhost:8080/ retry=0
  ProxyPassReverse …
Run Code Online (Sandbox Code Playgroud)

tomcat proxy reverse-proxy mod-proxy apache-2.2

12
推荐指数
1
解决办法
1万
查看次数