Articles of tomcat

Tomcat 6的IP地址限制

我需要保护我的一个Web应用程序中的某个文件夹,使其不能从定义的IP范围之外访问。 有了O'Reilly的Tomcat提示,我发现: <Context path="/path/to/secret_files" …> <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="127.0.0.1" deny=""/> </Context> 要走了吗? 我没有那么多的tomcatconfiguration,所以我为什么把这些限制放在眼里。 我把这个在我的web.xml或这是我需要添加到一些一般的tomcat conf文件?

Virtualbox HTTP负载testing,主机CPU超载问题

我正在使用Virtualbox 4.1.8虚拟化的Debian Squeeze 6.0.4 x64上运行的小型Java EE 1.7.0 / Tomcat 7.0.26应用程序上执行HTTP负载testing基准testing(使用Apache Benchmark和Siege )。 电脑主机是Ubuntu 11.10 x64。 我已经在Tomcat server.xml修改了这些参数: <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="200000" redirectPort="8443" acceptCount="2000" maxThreads="150" minSpareThreads="50" /> 在服务器上执行的应用程序大约需要300ms。 这个应用程序运行良好,直到一定数量的并发连接,如: ab -n 500 -c 150 http://xx.xx.xx.xx:8080/myapp/ ab -n 1000 -c 50 http://xx.xx.xx.xx:8080/myapp/ siege -b -c 100 -r 20 http://xx.xx.xx.xx:8080/myapp/ 很多socket connection timed out发生,这完全超载主处理器(但VM内部的CPU负载是正常的)。 在主机上做一个htop ,我可以看到Virtualbox processus运行在300%的CPU 下,即使在负载testing完成之后也不会下降 […]

为Tomcat Web应用程序添加全局URI前缀

我正在设置一个反向代理configuration,其中path以'/ apps /'开头的所有请求都应该由Apache代理到Tomcat。 这个IMO有两个好处:它可以保留代理到URI空间的“/ apps /”部分,并且对所有的Tomcat应用程序只使用一个代理规则(例如,任何Tomcat应用程序的请求应该开始'/应用/')。 例如,对http:// mydomain / apps / my_app /的请求应该代理到http:// localhost:8082 / my_app / 。 请注意,Tomcat URI中没有“/ apps /”前缀:“my_app”位于$ {CATALINA_HOME} / webapps / my_app的常规位置。 我已经在Apache vhost.conf文件中使用以下代理规则实现了这一点: ProxyPreserveHost on ProxyPass /apps/ http://localhost:8082/ ProxyPassReverse /apps/ http://mydomain/ (注意:我使用了ProxyPreserveHost,因为我的Tomcat应用程序需要访问原始主机来生成进一步的链接)。 一切顺利,除了我的Tomcat应用程序的一部分生成的绝对链接。 鉴于上面的configuration,我的Tomcat应用程序将'看到'这个请求: http:// mydomain / my_app ,并因此生成链接不带'/ apps /'前缀应该触发这些链接的代理。 这花了我一些时间,但我现在明白,这是代理的重要特征,并且没有“标准”方式将原始请求的“/ apps /”前缀传递给代理应用程序。 因此,我开始研究另一种可能性,即为所有Tomcat应用程序定义全局前缀,并使用以下设置代理Tomcat应用程序: ProxyPreserveHost on ProxyPass /apps/ […]

您对新的Tomcat安装进行了哪些configuration更改?

在安装Tomcat 5之后,你应用了哪些configuration更改/调整?为什么? 具体来说:命名你编辑的文件,你改变什么设置,为什么你这样做。 一些感兴趣的领域: 一般configuration更改 关于“虚拟主机处理”的最佳做法 性能调整 稳定性调整 安全设定

Tomcat是否可以在两台机器之间共享会话/群集?

我有几个服务器之间分布的几个Tomcat服务器的设置,都运行相同的事情。 Apache在Apache服务器之前,在Apache服务器之前是负载平衡器。 我想要使​​用共享会话对Tomcat进行群集,以最大限度地减less部署应用程序时的停机时间和用户中断。 我知道集群可以在同一台服务器上工作,但是可以通过在不同机器上的服务器之间共享会话的方式来设置Tomcat吗? => Server 1 ==> Apache 1 ===> Tomcat 1 => Server 2 ==> Apache 2 ===> Tomcat 2 当服务器/ Tomcat 1被取消时,用户和他们的会话将转移到Server / Tomcat 2,反之亦然。

即使运行,也无法连接到Tomcat

我试图在Debian 5和Debian 6上以两种不同的方式( 从源代码和apt-get )安装Apache Tomcat 5.5和6 – 没有成功。 服务器正在运行,但无法连接到它。 netstat -a : Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 *:ssh *:* LISTEN tcp 0 0 `hostname`:ssh my_home_ip:4318 ESTABLISHED tcp 0 52 `hostname`:ssh my_home_ip:remctl ESTABLISHED tcp6 0 0 [::]:8009 [::]:* LISTEN tcp6 0 0 [::]:8180 […]

我如何通过Tomcat部署ClickOnce应用程序?

我们需要通过Apacke Tomcat 6服务器部署.NET clickonce应用程序。 有没有人有任何提示或警告设置这个? (或者是直截了当,我甚至不需要问?)

当我在我的networking浏览器中进入localhost:8080时究竟发生了什么? (Apache Tomcat)

我花了我的职业生涯做所有本地应用程序编程(C ++应用程序和whatnot)。 不过,我现在正努力把自己的脚深入networking世界。 我正在使用Eclipse(火星)和Apache Tomcat 8.0.23尝试build立一个我可以尝试和了解服务器端编程(JSP,PHP等)的环境。 当我input时,我已经设置了这一切 localhost:8080 在我的浏览器中,它指向正确的tomcat页面。 我知道这可能很简单,但是这里有点让人心动。 当我键入本地主机时究竟发生了什么? tomcat页面从哪里来,如果不是互联网? 我很确定数据来自服务器,这要感谢Tomcat,在我的电脑上,但是我的浏览器是如何知道从localhost:8080中find信息的呢? 我假设8080是一个端口或什么东西,但我真的不确定,如果它是一个端口,我不确定这意味着什么。 基本上所有我知道的(我认为…)关于服务器端网页开发的是,在纯HTML / CSS Web开发中,所有的工作都是在本地完成的,一切都下载完成,但有了服务器,一些工作(一些分隔符)服务器,并以不同的forms注入到html中(就像将数据发送到C ++中的函数以及返回不同的数据一样),然后再次在本地绘制页面。

Tomcat并行部署,自动取消部署旧应用程序

我一直在使用Tomcat 8的并行部署作为零停机时间连续部署设置的一部分。 当运行testing项目时,CI服务器会自动将.war文件重命名为应用程序## {version-number} .war并将其复制到/ webapp文件夹。 应用程序## 333将与应用程序## 332很好地共存。 我唯一遇到的问题是,一旦所有stream量(新会话)自动转换到新stream量,我必须手动取消部署旧应用程序。 Tomcat是否有一些内置的机制可以说:“嘿,当这个服务到零会话,它应该被删除”? 也许某种“最后一场会议已经过期”的事件,我可以挖掘。 如果其他人已经自动化这种应用程序的部署,我很想听到它。 谢谢!

Java:Tomcat缓慢提供静态文件?

我正在Windows 2008平台上运行Apache Tomcat(5.5)的一个实例。 我认为我看到与并发文件访问/locking有关的问题。 当并发HTTP线程的数量增加超过默认设置(150)时,我看到(使用站点监视工具)服务某些静态内容(.js .gif .png等)时出现越来越多的“非自然”延迟。 通过这个,我的意思是服务器在开始发送之前需要20秒,或者需要30秒来为一个小的(2KiB)文件服务。 当Tomcat繁忙时(服务超过300个线程),CPU使用率平均在50-60%左右,磁盘使用率在10-30mbps左右。 有什么工具可以用于Java来确定是否是这种情况? Tomcat APR / Apache本机库是否可以解决这个问题? 另外,还有什么我应该看看? 网站分析工具的屏幕截图: