我使用nginx作为反向代理来pipe理部署在Tomcat服务器上的应用程序。 我需要一些帮助来确定线程池/连接池的大小/ …我find了很多描述不同参数的文档(Tomcat执行者,nginx工作者,keepalive,…),但是没有太多文档解释如何find正确的尺寸。 我不确定我是否正确理解文档。 例如,我在我的nginx监控图中看到,我有大约350个活动连接,30个写入连接和320个等待连接。 我每秒约有30个请求。 我在Tomcat服务器上configuration了200个线程来处理HTTP处理。 我有1个工作进程nginx与1024个工人连接。 从我所了解的文档中,等待的连接是HTTP1.1保持连接。 但是我也明白,nginx只是将HTTP1.0作为代理。 我有点困惑。 这些等待连接的消耗Tomcat线程什么都不做? 你知道一个关于调整Tomcat / nginx(或另一个反向代理,概念应该是相同的)的好资源。 谢谢你的帮助!
我创build了一个简单的Web应用程序,由一个dir与html,css,js组成。 没有服务器代码。 由于复杂的原因,我的pipe理员坚持把它转换成一个.war文件,这样可以很容易地在tomcat上部署。 同样,应用程序根本不包含任何Java代码。 我没有使用ant或eclipse创build它。 我尝试创build一个存档: jar cvf mywarfile.war * 这确实创build了一个战争文件。 但是,当我在tomcat上部署这场战争时,似乎并不奏效。 Tomcat会自动将war文件解压缩到一个目录,但不能通过web服务器使用。 我想这与我的战争不包含目录WEB-INF和META-INF 。 有一个简单的方法,我可以把一个静态客户端的Web应用程序变成一个可部署的战争文件?
我正在尝试使用mod_jk进行负载平衡。 负载均衡器:172.17.8.189(HTTPD + mod_jk) Node1 :172.17.8.193(apache tomcat实例1) Node2 :172.17.8.196(apache tomcat实例2) 我检查了我的tomcat实例,他们都在8009听。但是,我不断收到这些错误。 [Tue Jun 18 17:49:14 2013][18057:47118810657648] [error] init_jk::mod_jk.c (3348): Initializing shm:/etc/httpd/logs/jk.shm.18057 errno=13. Load balancing workers will not function properly. [Tue Jun 18 17:49:14 2013][18057:47118810657648] [info] init_jk::mod_jk.c (3365): mod_jk/1.2.37 initialized debugging日志是 [Tue Jun 18 18:14:00 2013][18778:47687756850032] [debug] jk_set_time_fmt::jk_util.c (461): Pre-processed log time stamp format is '[%a […]
我们有几个webapps部署到一个单一的Tomcat 7服务器。 有没有一种方法来监视部署到Tomcat服务器的每个webapp的状态(正常运行时间,内存使用情况等)? 我们正在使用Nagios来监视基本的服务器状态(即磁盘使用情况,ping,内存使用情况等),如果我们可以将每个web应用程序状态集成到Nagios中,那将是非常好的。 我们也希望这种集成能够在web应用程序达到内存使用的某个阈值限制时发出警报。 编辑:我们在Ubuntu上运行Tomcat。 有这样的方法吗? 谢谢。
我在EC2上有一个中型服务器。 我不太了解Apache或者Tomcat,他们已经开始运行了,但除此之外,我还没有深入了解如何进行修补。 我知道我可以设置Tomcat服务器的最小/最大JVM大小,并且可以设置Apache可以分离多less个线程,但我不知道这些参数的“合理”值是多less。 我意识到答案是主观的,但是我应该从哪里开始呢? 有没有简单的方法来加载/性能testing我的应用程序? 谢谢。 编辑: 该系统是一个EC2中: 高CPU中等实例: 1.7 GB的内存 5个EC2计算单元(2个虚拟核心,每个2.5个EC2计算单元) 350 GB的实例存储 32位平台 I / O性能:中等 API名称:c1.medium 我运行的唯一服务是Apache和Tomcat。 没有其他的东西在服务器上。
我已经设置了Apache作为运行jenkins-CI的tomcat的反向代理。 我可以从外面访问该网站的罚款,除了当我loginjenkins,它redirect到我的LAN主机名,当然它失败了我的networking之外。 之后,我可以手动input原始地址到浏览器,它会正常工作,直到我必须再次login。 我不知道这是jenkins中的问题,还是在我的apache / tomcat代理设置中。 jenkins还在pipe理页面上报告说我的代理设置不正确,但是没有再说。 Apache VirtualHostconfiguration: <VirtualHost *:80> ServerName jenkins.outsideaddress ServerAlias ci.outsideaddress jenkins.insideaddress ci.insideaddress ProxyPass / http://localhost:8080/ ProxyPassReverse / http://localhost:8080/ </VirtualHost> 此外,代理和proxy_http模块被加载(根据apachectl -M )
我在Ubuntu 12.04上安装了Tomcat 7,并安装了tomcat7-admin软件包,该软件包提供了两个webapps:manager和host-manager。 然后在经理那里,我不小心把主pipe经理解雇了,我似乎无法把它带回来。 我查看了CATALINA_BASE/webapps ,这两个CATALINA_BASE/webapps都没有在那里。 重新安装包tomcat7-admin没有做任何事情。 我应该怎样做才能恢复主机pipe理器的Web应用程序? 必须有一些简单的解决办法,我看不到自己。
我们有一个Debian X64服务器,当前有一个tomcat实例,我们在WAR文件中有3个webapps 。 另外,我们有一个Apache web服务器,它有一个CMS系统运行。 最后一个项目是Maintenance Web应用程序,当我们在服务器上工作并且服务不可用时显示。 我们面临的问题是: Tomcat或Apache Web服务器中只有一个始终在Port-80上运行。 对于Tomcat应用程序,应用程序必须通过不同的上下文path进行访问。 我们无法在多个域名下运行所有内容,但在单个服务器下运行。 我想长期做的事情是: 使用Tomcat(首选)或Apache Web服务器作为负载平衡器,它将根据域名来中继请求。 所以,如果有人打电话给url www.xyz.com ,那么它应该调用我们拥有的XYZ webapp。 相同的webapp名称和域名是纯粹的偶然事件。 将Maintenance Web应用程序绑定到整个网格,当任何域不活动或没有响应或忙碌时将会调用该网格。 我创造了一个图片(一个可怕的.. :-(),这更多地说明了这个任务。 正如你现在看到的架构,这里是我的问题。 这是一个好方法吗? 如果没有,请告诉我在哪里,我可以做得更好。 我正在做的任务是什么? 网格configuration,负载平衡? 如何将所有的webapps,网站绑定在一起,可以通过不同的URL来引用,但会指向正确的webapp或网站。 我对Apache Tomcat和Linuxpipe理有很好的理解,而不是那么多的Apache Web服务器。 任何人都可以帮助我解决这个问题,一些规划和我所需要的,所以我可以执行它。 请注意,我们在DNS中注册了所有基于Web的应用程序和基于Web服务器的网站的域名。 我希望我已经添加了足够的信息,如果有任何要求,请让我知道。 你能帮忙的话,我会很高兴。 非常感谢。 🙂
在运行在Apache Tomcat servlet容器中的Java Web应用程序的前面: 在Tomcat或httpd级别使用启用GZIP压缩更好吗? 在Tomcat或httpd上启用SSL会更好吗? 应用被用在或多或less可靠的networking中(比公共networking更好,但比LAN差一些),包丢失,ping延迟等。应用大量使用大型dHTML,AJAX,静态和dynamic内容。 长时间的用户会话(小时)。
这个问题不是关于性能,也不是关于负载平衡等。 哪个更安全:以独立模式运行Tomcat,还是在Apache后面运行Tomcat? 事情是,Tomcat是用Java编写的,因此它对缓冲区溢出/溢出几乎是免疫的(除非在Tomcat使用的C编写的lib中的缓冲区溢出可以被触发,但是它们很less见(我记得最后一次是在zlib中,许多许多月前)和一个黑客实际利用),它摆脱了很多潜在的利用。 这一页: http://wiki.apache.org/tomcat/FAQ/Security 有这样的说法: 由于Tomcat的安全问题,公司,组织或个人都没有受到公开的损害……只有理论上的漏洞被发现。 尽pipe没有logging这些脆弱性的实际利用情况,但所有这些都得到解决。 这与Java缓冲区溢出/溢出几乎不存在的事实相结合,使我相信Tomcat处于独立模式是相当安全的。 除此之外,我可以在Linux上安装Java和Tomcat,而不需要root。 唯一需要成为根的时刻是build立一个透明的端口8080到80端口的转发(和8443到443)。 两个iptables行作为根,这是所有的根需要。 (我不知道Apache)。 Apache比Tomcat使用得多,并且没有像Tomcat那样的安全logging。 什么使Tomcat + Apache 更安全? 什么会使Tomcat + Apache 不太安全? 总之:哪个更安全,Tomcat独立还是Tomcat与Apache? (记住这里的performance不是问题) 关于这个主题的一些背景,在2007年的Tomcat邮件列表上: http://mail-archives.apache.org/mod_mbox/tomcat-users/200710.mbox/%[email protected]%3E 简短的回答:如果你没有看到有效的把Tomcat放在httpd前面的理由,那么很可能没有。 索赔之一有时可以阅读,你应该总是把一个httpd放在Tomcat的前面是完全废话IMO。 事实恰恰相反。