Articles of tomcat

Tomcat 7跟踪webapps的斜线问题

最近我把我的tomcat服务器从6.x版本升级到最新的7.x版本。 我想出了一点麻烦,希望能得到帮助。 我有一个应用程序调用MyApp 在tomcat6,当我去http://www.example.com/MyApp/page/我通常会得到想要的结果。 现在,在tomcat7上,访问相同的确切url(跟着斜线)我得到错误:“资源不可用”,因为tomcat认为/ MyApp / page /是一个完整的webapp名称而不是请求名MyApp网页下的页面。 我需要在我的url末尾的斜线,否则我得到的错误:“HTTP状态405 – 请求方法”不支持GET“这是好的,因为我真的不允许GET方法的”页面“请求。 如果有人知道如何告诉tomcat现有的webapp的path后的斜线不应该假设redirect到新的webapp调用整个“string”,只是像tomcat6上处理请求,这将是伟大的!

为什么tomcat7logincatalina.out和catalina.YYYY-MM-DD.log?

在OpenBSD 5.2上,tomcat-7.0.29的默认安装似乎将所有错误都logging到catalina.out和catalina.YYYY-MM-DD.log 。 Cns# ll /var/tomcat/logs/catalina.* -rw-r–r– 1 _tomcat _tomcat 3067 Jan 16 20:47 /var/tomcat/logs/catalina.2013-01-16.log -rw-r–r– 1 _tomcat _tomcat 1313285 Jan 17 21:47 /var/tomcat/logs/catalina.2013-01-17.log -rw-r–r– 1 _tomcat _tomcat 19668 Jan 18 17:33 /var/tomcat/logs/catalina.2013-01-18.log -rw-r–r– 1 _tomcat _tomcat 2479 Jan 23 15:25 /var/tomcat/logs/catalina.2013-01-23.log -rw-r–r– 1 _tomcat _tomcat 1580 Jan 26 22:58 /var/tomcat/logs/catalina.2013-01-26.log -rw-r–r– 1 _tomcat _tomcat […]

用主pipe控制tomcat

当通过pipe理员控制时,有没有办法“优雅地”closurestomcat? 我的理解是Tomcat的shutdown.sh脚本与closures端口上的tomcat对话以启动正常closures。 主pipe似乎没有办法指定closures“命令”,只使用信号。 有没有人成功地使用tomcat的主pipe? 另外,由于tomcat的startup.sh脚本启动了java进程,我一直在直接将生成的java命令复制到pipe理程序中,但是由于所有的环境设置,这不如使用startup.sh脚本。 有没有办法让主pipe使用startup.sh脚本,但仍然跟踪由此产生的子Java过程?

如何排除Apache Mod_proxy的URL?

我们有两台Apache服务器作为前端,四台Tomcat服务器作为后端,使用mod_proxy模块作为负载均衡器。 现在,我们要从mod_proxy负载平衡器中排除单个tomcat url。 有什么方法或规则可以排除? 代理平衡器设置: <Proxy balancer://backend-cluster1> BalancerMember http://10.0.0.1:8080 loadfactor=1 route=test1 retry=10 BalancerMember http://10.0.0.2:8080 loadfactor=1 route=test2 retry=10 </Proxy>

Apache的替代品

我们目前的堆栈是Apache + Tomcat + MySQL,使用ProxyPass AJP从Apache向Tomcat发起请求。 我们也在相同的网站上运行PHP for WordPress,因此需要工作.htaccess文件。 为了回应一个烦人的问题(请参阅此堆栈溢出页面) ,我们正在考虑替代堆栈。 请注意,我们通常非常喜欢apache,但这个问题是一个阻碍:如果我们无法修复它,我们就不能使用Apache。 替代scheme包括: 单独的Tomcat Glassfish(Java应用服务器,来自Tomcat) Jetty(Java服务器) 树脂 LightTPD(轻量级HTTP服务器) Nginx(轻量级HTTP服务器) 我看到它的方式,解决scheme分为两个阵营:纯粹的Java阵营,如Glassfish; 或者像我们目前的Apache + Tomcat这样的分裂阵营。 我们喜欢纯Java解决scheme的概念,因为更less的移动部件应该意味着更less的出错; 但他们中的任何一个都支持PHP, .htaccess文件等? 从理论上讲,我们可以用另一种方式进行拆分 – 只需要那些需要这些特性的代理,就可以有一个简单的前端代理Apache,但实际上这只是80%的请求。 人们build议什么select?

Apache连接后的Tomcat扼stream圈

我们在EC2托pipe的Tomcat前面有一个apache webserver,实例types是34GB内存的超大型。 我们的应用程序处理大量的外部networking服务,并且我们有一个非常糟糕的外部web服务,在高峰时间需要将近300秒响应请求。 在繁忙时间,服务器扼制了大约300个httpd进程。 ps -ef | grep httpd | wc -l = 300 我GOOGLE了,发现了很多build议,但似乎没有任何工作..以下是我已经做了一些configuration,直接从网上资源。 我已经增加了最大的连接和最大的客户端在Apache和Tomcat的限制。 这里是configuration细节: //阿帕奇 <IfModule prefork.c> StartServers 100 MinSpareServers 10 MaxSpareServers 10 ServerLimit 50000 MaxClients 50000 MaxRequestsPerChild 2000 </IfModule> // 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"/> //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 = […]

无法通过Tomcat或外部通过JDBC连接器连接到MySQL

我已经安装了一个股票MySQL 5.5的安装,虽然我可以通过mysql命令连接到mysql服务,并且该服务似乎正在运行,我无法通过spring + tomcat或从外部jdbc连接器连接到它。 我正在使用以下url: jdbc:mysql://myserver.com:myport/mydb 用正确的用户名/密码,但我收到以下消息: server.com: Communications link failure The last packet sent successfully to the server was 0 milliseconds ago. the driver has not received any packets from the server. 和tomcat抛出: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received […]

如何在Mac OS X上启动时启动Apache Tomcat?

我观察到在OS X上没有安装tomcat的完整指南,包括将它设置为在启动时启动。 以下是快速指南: 安装macports suport port upgrade sudo port upgrade outdated 。 sudo port install tomcat6 ,或者如果你想要其他版本检查port list|grep tomcat config现在位于: /opt/local/share/java/tomcat6/conf 启动脚本: /opt/local/share/java/tomcat6/bin/tomcatctl cp /opt/local/share/java/tomcat6/conf/tomcat-users.xml.sample /opt/local/share/java/tomcat6/conf/tomcat-users.xml nano / opt / local / share / java / tomcat6 /conf/tomcat-users.xml … 检查文章 但是我错过了如何使它作为真正的服务/守护进程运行的部分:在系统启动时,可以select使其重新启动,如果它崩溃。

如何为Tomcat用户使用非纯文本密码?

在Ubuntu 10.04.3 LTS上,在安装Tomcat 6之后,添加一个pipe理员/pipe理员帐户的方法是在/etc/tomcat6/tomcat-users.xml添加一个这样的logging: <role rolename="manager"/> <role rolename="admin"/> <user username="user" password="password" roles="manager,admin"/> 这个密码是纯文本的,我对此不太舒服。 有没有办法像使用哈希代替? 如果你有一个非Ubuntu的解决scheme,我可以翻译它。

如何禁用Apache Tomcat中的SSLv3支持?

我正在尝试重新configuration我的Apache Tomcat服务器,只使用TLSv1。 但是,使用某些浏览器的情况下,它仍然会回落到SSLv3。 我使用以下设置来设置<connector>标签: <Connector … enableLookups="true" disableUploadTimeout="true" acceptCount="100" maxThreads="200" scheme="https" secure="true" SSLEnabled="true" clientAuth="false" sslProtocol="TLS" ciphers="TLS_RSA_WITH_AES_128_CBC_SHA, TLS_DHE_RSA_WITH_AES_128_CBC_SHA, TLS_DHE_DSS_WITH_AES_128_CBC_SHA" sslEnabledProtocols="TLSv1" /> 我是否缺less一个configuration设置或有一些我不应该出现的礼物?