所以我有这个基于tomcat的webapp。 这个webapp的一部分可以让你上传一个文件,然后在后台数据库中进行检查。 这个过程需要很长时间,在某些情况下最多可达15分钟。 现在蹭的是,当我通过apache运行这个过程时,我得到5分钟的超时,但是当我直接运行在tomcat上时没有。 然后它就变得更加奇怪了,因为这个过程甚至通过代理也可以正常工作。 IE和FF呛,虽然在5分钟的标志。 看看networkingstream量,看起来客户端正在发送TCP断开连接并且终止连接。 (总结) 直接通过HTTP对抗tomcat: IE:好 FF:好 CH:好 通过HTTP / HTTPS代理: IE:5M超时 FF:5M超时 CH:好 由于它通过chrome工作,所以我想这是一个IE / FF问题。 但是,因为它绕过代理通过IE / FF工作,我倾向于认为这是一个代理问题。 无论如何,我都很难过。 人们开始抱怨。 所以任何人有任何想法,为什么会发生这种情况? 我很高兴发布任何必要的日志/ conf文件… 我的代理configuration如下: ProxyPass / unit ajp:// appserver:8100 / unit timeout = 1800 ProxyPassReverse / unit ajp:// appserver:8100 / unit 编辑:添加版本: Apache 2.2.3 Tomcat 5.5.27 IE 8 FF […]
我在Web层上有以下架构。 Varnish <-> Apache2 (mod_pagespeed <-> mod_jk) <-> Tomcat ^ ^ ^ | | |________: mod_jk | |_______________________________________________: port 8080 |__________________________________________________________: port 80 varnish和mod_pagespeed在默认configuration下安装。 现在,当我访问url http://example.org:8080然后我可以看到在源代码mod_pagespeed被调用,并重写了页面(在第二次刷新的心态,因为它没有caching的第一次) 但是,当我访问的urlhttp://example.org:80 mod_pagespeed没有被调用和HTML代码被呈现不变。 以下显示了每个交叉点上收到的http头 PORT 80 < Server: Apache/2.2.14 (Ubuntu) < Set-Cookie: JSESSIONID=95ABA0EB57ACCBE15C9D7035C4397BD3; Path=/ < X-Mod-Pagespeed: 0.9.17.7-716 < Cache-Control: max-age=0, no-cache, no-store < Vary: Accept-Encoding < Content-Type: text/html;charset=UTF-8 < Content-Length: […]
我们有一个Windows服务器上的每个人都可以访问的tomcat。 在这台机器上stylesheet / .js链接工作正常。 我把战争复制到我的本地机器,并在我的本地机器上安装了Apache。 现在,我可以连接到localhost:8080的网站,并提供html和数据库连接,但是…它不适用任何样式/ .js。 另一个奇怪的是,如果我浏览到网站和查看源(在我的本地机器和共享的机器)。 样式表的链接看起来像 href =“/项目文件夹/静态/样式子文件夹/子文件夹/ style-page.css” 两台机器上都没有“静态”文件夹。 这是一个jsp约定的某种?
我正在一个非常具体的apache + mod_ssl + mod_jk + tomcat上工作 到目前为止,一个基本的configuration工作,我想要的:访问我的webapps背后的东西很好。 我使用通配符证书的前端(因此,Apache)。 连接是这样的: [apache] < – > [mod_JK] < – > [tomcat] apache :2.2.17 Tomcat :7.0.12 JK_mod版本 :1.2.31 注意 :目前我只有1个tomcat正在运行,但是我可能需要使用mod_jk中的负载均衡器添加其他的。 好吧,现在是有趣的部分。 我需要使用客户端证书来保护我的webapps。 例如,为了访问“webapp1”而向“用户1”提供“客户证书1”应该被允许,但是不应该允许任何其他web应用。 这对于“用户2”是一样的:使用他自己的客户端证书(客户端证书2)访问webapp2,等等。 为了更加灵活(在webapp中也有一些java代码,所以这很理想),我决定让Tomcat处理客户端证书,而不是Apache。 但是有一个棘手的方面:对于网页浏览(使用互联网浏览器,如Firefox,IE等),应该使用通配符证书(这个证书是由verisign生成的,然后在apache conf ); 但是对于应用程序数据上传(这些是web应用程序的function),要求客户端证书(见上)仅允许非常有限的访问。 我知道这可能听起来很愚蠢,但这就是我所要求的… 我已经结束了2种不同的configuration: 1)在端口443上使用带有通配符证书的Apache和在端口8443上使用Tomcat – SSL 通过网页浏览器,我可以通过mod_jk通过apache查看我的应用程序。 数据上传通过Tomcat SSL端口执行。 这可能是正常的,但我可能需要稍后运行多个Tomcat实例,所以我不知道它将如何performance。 但这可能是一个解决scheme。 到目前为止,这是最重要的configuration 2)在端口443上使用apache,在8080端口上使用tomcat 我能够查询我的密钥库来检索任何客户端证书。 问题是,我不能再使用我的通配符证书,并需要客户端证书来访问我的web浏览器(我不想)。 接下来,为了尝试解决这个问题,我尝试在apache中添加一个虚拟主机,使其拥有2个不同的servername。 我想要的是一个DNS名称用于浏览我的应用程序,另一个用于将数据上传到我的应用程序。 但它仍然要求客户证书。 所以我的问题是: 1)根据我的prerequesites,这是可行的吗? […]
我有一个ROOT.war文件,用于部署我的网站版本1。 我现在将这个文件重命名为ROOT_v1.war并将其放在一边。 然后我做一些更改并创build一个新的ROOT.war文件并部署它。 如果我想回滚一下,只需重命名并将ROOT_v1.war复制回服务器就足够了。 还是需要更新date? 或者计算里面的文件的date呢?
我有一个使用Hibernate作为JPA提供程序访问MySQL的Web应用程序。 虽然在我的开发平台上一切都很好,但是一旦我将WAR部署到我的服务器,我得到以下错误: org.springframework.web.util.NestedServletException: Request processing failed; nested exception is javax.persistence.PersistenceException: org.hibernate.exception.JDBCConnectionException: Cannot open connection 开发机器运行Ubuntu 10.10和服务器10.04; 两者都使用提供的MySQL包和Apache的(不是Ubuntu的)tomcat6。 我有三倍以上的检查数据库正在运行,凭据是正确的,驱动程序是可用的。 我在tomcat的context.xml中有这个资源定义: <Resource name="jdbc/phenome_repository" auth="Container" type="javax.sql.DataSource" username="correctUserName" password="correctPassword" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost/correctDatabaseName" /> 由于Web应用程序在本地工作,我相信它的configuration是正确的(它的web.xml中有一个resource-ref)。 至于MySQL,它被configuration为在127.0.0.1上侦听,上面的“correctUser”具有所有必要的权限(在localhost 和 127.0.0.1上)。 有谁知道“不能打开连接”的不太常见的原因? 完整的堆栈跟踪
目前我已经设法做到这一点: root@server:~# for i in $(netstat -lp | grep java | awk '{print $7}' | awk -F '/' '{print $1}' | sort | uniq); do ap=$(ps p $i | grep -v PID | grep activemq | awk '{print $1}'); done; netstat -lp | grep $ap tcp 0 0 localhost:32000 *:* LISTEN 23059/java tcp6 0 0 […]
我目前正在使用tomcat6 solr,但是我注意到,当我运行顶部有大量的Java进程正在运行的tomcat用户。 22738 tomcat6 20 0 634M 98M 4072 S 0.0 12.9 0:00.00 /usr/lib/jvm/java-6-openjdk/bin/java -Djava.util.logging.config.file=/var/lib/tomcat6/conf/logging.properties -Djava. 22739 tomcat6 20 0 634M 98M 4072 S 0.0 12.9 0:02.18 /usr/lib/jvm/java-6-openjdk/bin/java -Djava.util.logging.config.file=/var/lib/tomcat6/conf/logging.properties -Djava. 22740 tomcat6 20 0 634M 98M 4072 S 0.0 12.9 0:00.50 /usr/lib/jvm/java-6-openjdk/bin/java -Djava.util.logging.config.file=/var/lib/tomcat6/conf/logging.properties -Djava. 22741 tomcat6 20 0 634M 98M 4072 S 0.0 12.9 0:01.75 […]
我们是委内瑞拉的一个开发团队,他们开发了一个tomcat5.5 + java + spring + hibernate + mysql + jstl +(flex)应用程序。 现在我们把它们安装到客户身上,让他们开心,每个人都在自己的领域。 我们使用Linode作为托pipe服务提供商,并使用cpanel的WHM软件来帮助我们快速创build帐户,并且保留邮件服务器和东西。 并让用户访问他们的邮件帐户。 所以,我们一直相处,直到我的tomcat不时停止工作,给内存错误,重新启动tomcat,一切都很好。 得到更多的客户,购买更多的硬件,直到硬件没有任何区别,了解堆的大小,现在我给更多的堆大小的tomcat,现在整个服务器不时跌倒。 连接Jconsole,我可以在记忆中每10分钟logging一次,less一些频率。 Te峰值每次迭代都会更高,直到中断。 需要提示如何扩展这种应用程序,所以我要求大家伙(你们)提供任何提示,方向,任何东西来扩展我的架构。 谢谢!
我们最近才开始使用Tomcat(6.x)作为我们的Java servlet容器,用于各种生产Web应用程序。 我们没有使用特别的高级function,而且通常每个应用程序的Tomcatconfiguration都非常简单。 在我看来,安装多个Tomcat实例(我知道使用Tomcat 7作为Windows服务非常容易)不会增加维护工作量,同时允许我们的每个应用程序与其他应用程序完全隔离,例如不能受服务器configuration更改后服务重新启动的影响,旨在帮助只有一个应用程序。 高性能在这种情况下并不重要。 它是如此简单,还是有充分的理由为什么人们可能想分享几个应用程序之间的实例? 奖金的问题:有没有一种明显的方式,我错过了重新读取服务器configuration没有反弹的Tomcat服务?