标签: tomcat

为什么在 JBoss 中运行 JIRA?

我刚刚完成 JIRA 和 Confluence 的安装并在 Ubuntu Server 上运行 Tomcat,这时我注意到网上有关于 JBoss 上的 JIRA/Confluence 的安装说明。

我不熟悉 JEE 应用程序服务器,大部分时间都花在更简单的 servlet 容器上。

然而,假设 JIRA 不使用 EJB,为什么要将其部署到 JBoss 呢?在这种情况下,JBoss 提供了哪些 Tomcat 没有提供的功能?

tomcat jboss servlet jira

4
推荐指数
1
解决办法
918
查看次数

Apache/Tomcat 端口信息

我对 Apache HTTPD 服务器和 Tomcat Web 服务器端口配置有一些疑问。

通过netstatTOMCAT/conf/server.xml我明白:

  • 80 和 443 端口分别被 Apache 用于 HTTP 和 HTTPS 请求。
  • 8080 和 8443 端口分别被 Tomcat 用于 HTTP 和 HTTPS 请求。
  • 还有一个使用“AJP/1.3”协议的连接器端口=“8009”。(AJP 连接器用于您希望将 Tomcat 4 隐形集成到现有(或新)Apache 安装的情况)

然而:

  1. 8009 端口如何与 Apache 和 Tomcat 端口关联?这是否意味着连接器、Apache、Tomcat 等之间的请求是如何交换的?

  2. 是什么启动了这个 AJP 连接器(Tomcat 或 Apache)?

    因为即使在 Apache 启动时;我没有看到在 8009 侦听的套接字。但这是在 中提到的端口apache2/conf/workers.properties

    我想在Tomcat启动后这个端口是可用的。

  3. server.xml什么是redirectPort 8443的目的是什么?

<Connector port="8081" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
Run Code Online (Sandbox Code Playgroud)

tomcat port apache-2.2

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

Apache tomcat server win8 本地主机外无法访问

我已经在我的本地 win7 上安装了 apache-tomcat 服务器。我指定的端口是 9999。另外,我使用 apache tomcat 的分布式二进制版本。不安装为 Windows 服务。

我可以通过http://localhost:9999和访问我的服务http://myIPAddress:9999

但是我无法从其他计算机访问我的 apache 服务器。我在互联网上搜索,发现我应该在其高级设置中添加防火墙入站规则。

  1. 右键单击左侧窗格中的“入站规则”
  2. 选择“新规则”
  3. 选择“端口”
  4. 在“特定端口”下输入您的端口号 (9999)
  5. 继续“下一步”直到向导结束,并在询问时命名规则。

这样做之后,还是不行!!

我已经用“netstat -na”检查过: TCP 0.0.0.0:9999 0.0.0.0:0 LISTENING

到目前为止,我找到的唯一方法是关闭我的 Windows 防火墙!但这不是首选,因为存在潜在的安全风险。

一些在线帖子是指 httpd.conf 文件。但是我的 apache-tomcat 没有这种火。

有人能给我一些提示吗?


编辑:

文件中有三个与端口号设置相关的地方/conf/server.xml

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

<Connector port="9999" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />//我把 8080 改为 9999 供我自己使用。

<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />

http tomcat windows-firewall apache-2.2

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

测量负载 - 顶部的 %CPU 与 %us 不同

当我在远程服务器上运行 TOP 时,我看到系统利用率非常低 (3.8%us)。但是,对于实际过程,我看到了 29.6% 的 CPU。

由于这台服务器有8个CPU核心,%CPU是不是只有1个CPU的利用率,而us上面却超过了8个CPU?

当我将 29.6 除以 8 时,我得到 3.7,这似乎验证了我的猜测。所以问题:

  • 我看到的低利用率实际上是超过 8 个 CPU,而 %CPU 用于进程正在使用的 CPU?
  • 使用多个 CPU 的进程会发生什么情况?
  • 如果需要,tomcat 是否使用多个 CPU?或者如果负载增加,tomcat会崩溃但我们永远不会被告知高负载

最高输出

    top - 12:17:40 up 9 days, 21:51,  2 users,  load average: 0.32, 0.28, 0.27
    Tasks: 201 total,   2 running, 199 sleeping,   0 stopped,   0 zombie
    Cpu(s):  3.8%us,  0.1%sy,  0.0%ni, 96.1%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
    Mem:  16229072k total,  5617572k used, 10611500k free,   156480k buffers
    Swap:  8388588k total,        0k used,  8388588k free, …
Run Code Online (Sandbox Code Playgroud)

tomcat central-processing-unit top

4
推荐指数
1
解决办法
1292
查看次数

调用tomcat关机脚本和查杀进程的区别

在我们的 linux 机器上,我们有多个运行 tomcat 的用户。

目前我们正在使用 process kill 命令来杀死相应用户的 tomcat ,而不是使用 shutdown.sh

使用这种方法有什么缺点吗?

tomcat tomcat7

4
推荐指数
1
解决办法
4995
查看次数

如何监视tomcat应用程序并在未运行时重新启动?

我有一个在 Tomcat 上运行的 Web 应用程序,并且希望有一种自动监控应用程序的方式以确保它正在运行,如果没有启动/重新启动 tomcat(并发送电子邮件警报)。我想做的不仅仅是检查 Tomcat 是否正在运行并确保可以加载应用程序的默认页面。

除了编写shell脚本并将其作为cron作业运行之外,是否有任何工具可以最好地做到这一点?

tomcat

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

如何为 tomcat 创建 IP 白名单?

我对 tomcat 非常陌生,但我需要配置我公司的 tomcat 服务器,以便我们只能允许受限制的 IP 地址。

我知道这通常是防火墙的工作,但在这种情况下,这不是一种选择。

我们正在对生产服务器进行部署,在此过程中,我们需要能够显示由 Apache 运行的维护页面,该页面与 tomcat 位于同一服务器中。

在这种情况下,我需要做什么才能只允许访问整个 tomcat 服务器的选定 IP 地址?

tomcat ip whitelist

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

会话在 tomcat 中丢失,使用 nginx 作为代理

我在 tomcar 服务器中有几个应用程序。我使用 nginx 作为代理,所以我可以实现从子域加入应用程序

tomat:8080/app1 > app1.mydomain.com 
tomat:8080/app2 > app2.mydomain.com 
Run Code Online (Sandbox Code Playgroud)

我设置了一个反向代理:

server {
  listen 80;
  server_name  app1.mydomain.com;
  location / {
   proxy_set_header X-Real-IP  $remote_addr;
        proxy_set_header X-Forwarded-For $remote_addr;
        proxy_set_header Host $host;
      proxy_set_header X-Forwarded-Host $host;
     proxy_set_header X-Forwarded-Server $host;

    proxy_pass http://tomcat:8080/app1/;
  }
}
Run Code Online (Sandbox Code Playgroud)

我可以毫无问题地访问该应用程序。但它无法保持会话。我在码头有另一个应用程序,它在 ngix 后面运行没有问题。此外,如果我直接访问应用程序,我可以毫无问题地操作它。

任何提示?

谢谢。

tomcat nginx reverse-proxy apache-2.2

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

在 Tomcat 中水平扩展 Web 应用程序(负载平衡/集群)

我开发了一个简单的 REST 风格的 Web 应用程序,由 2 个基本模块组成。

模块#1:服务器暴露 REST Web 服务,无状态,部署在 Tomcat 中
模块#2:REST 客户端

有一个部署了 Module#1 的 Tomcat 实例。

我想水平扩展它并在第二台机器上运行第二个 Tomcat。在负载平衡/集群方面,我是一个完整的新手,这就是我需要帮助的原因。不需要会话复制和故障转移。

我应该如何处理它?

我做了一项研究,这些是我看到的可能的方法:

1.无集群,无第三方代理。

我在第二台机器上运行第二个 Tomcat。由于我可以控制客户端和服务器,我可以在客户端提供一个非常基本的算法并随机选择一个主机,这将在 API 调用之前选择。不需要配置集群,也不需要提供第三方代理。是否有任何潜在的陷阱?这是正确的方法吗?

2.Tomcat集群

说到Tomcat集群配置,是不是说有2个Tomcat在单独的机器上运行,并且他们的配置说它们是一个集群?我需要一个单独的库,工具吗?Tomcat 就够了吗?我会像第一种方法一样运行 2 个进程吗?

3.Tomcat负载均衡器

Tomcat集群和Tomcat负载均衡器有什么区别?再次,我需要一个单独的库,工具吗?Tomcat 就够了吗?

4. 第三方代理

我找到了一些关于 HAProxy 之类的信息。这是否意味着,所有调用都经过它,代理决定选择哪个主机?这是否意味着除了两个Tomcat进程之外还会有第三个单独运行?假设我在两台不同的机器上有 2 个 Tomcat,这个代理在哪台机器上运行?

我应该选择哪一个?我误解了什么吗?文章,答案表示赞赏。

cluster tomcat web-server load-balancing haproxy

4
推荐指数
1
解决办法
7689
查看次数

如何关闭所有tomcat日志轮换

我想使用 logrotate 在我的服务器上管理日志轮换,但是 Tomcat 执行自己的日志轮换,这与 logrotate 交互很差,我找不到关闭它的方法。我的 Tomcat 实例目前产生 5 种类型的日志:

  • catalina.2018-01-17.log
  • mysite_access.2018-01-17.log
  • 本地主机.2018-01-17.log
  • 主机管理器.2018-01-17.log
  • manager.2018-01-17.log

经过一些谷歌搜索后,我发现我可以通过添加rotatable="false"<Value>server.xml 中的适当元素来禁用“mysite”日志的轮换,但其他日志都没有相应的<Value>元素。

日志似乎是由 logging.properties 文件配置的,但我找不到此文件的“关闭旋转”选项。任何人都可以帮忙吗?我正在使用 Tomcat 8.5

tomcat logging

4
推荐指数
1
解决办法
6043
查看次数