Articles of tomcat

Apache服务器错误指定的networking名称不再可用。 :winnt_accept:asynchronousAcceptEx失败

我们在apache服务器上遇到以下问题: [Sun Apr 14 10:33:26 2013] [警告](OS 64)指定的networking名称不再可用。 :winnt_accept:asynchronousAcceptEx失败 这个错误似乎是无处不在,没有明显的原因。 这导致服务器变得非常慢,正在填写我们的报告日志。 我们有大约1000个不同networking的用户访问中央服务器。 该应用程序是一个私人的Web应用程序,而不是一个网站 我们所有的用户都有Windows桌面。 服务器使用windows server 2008,带有负载均衡的apache服务器版本2.0.8,用于在两台服务器上分配负载。 我已经看到以下链接: https : //issues.apache.org/bugzilla/show_bug.cgi?id=21425 这实际上增加了我的困惑。 没有人提出一个明确的解决scheme,但据我所见,这可能是由networking问题引起的(作为评论表明他们已经在IIS服务器上复制了这个问题)。 所以我跳,我来到了正确的地方。 任何帮助将不胜感激。

configurationApache和Tomcat的正确方法是:Apache通过端口80提供HTML,而Tomcat通过端口80提供ColdFusion / Railo?

这是我的情况: 我有一个Apache和Tomcat安装的服务器。 在tomcat中,我正在使用Railo(开源的ColdFusion)。 我不希望我的用户处理端口8080打CFM页面。 因此,我希望Apache像通常那样通过端口80来呈现静态HTML页面,但让位给Tomcat 通过端口80提供CFM页面,或者正确的方式是这样。 现在,我可以作为Apache和Unix / Linux的pipe理员。 然而,我并没有太多的Tomcat经验,当Tomcat和Railo游泳时,我将它连接到Apache以允许Port 80处理所有事情的唯一方法是使用我的一些ProxyPass和ProxyPassReverse行Apache中的虚拟主机定义 我的一部分人认为这完全不是这样做的正确方法,在网上find一个明确的,推荐的方法,我有一些困难。 我知道Tomcat有一个Apache Tomcat连接器,但是这似乎让我感到困惑,还提到了Tomcat Workers属性,这是我在我的默认Tomcat安装中似乎没有的东西。 我知道我写了很多,但想画的图片。 任何意见将非常感激。 谢谢! 杰夫

Apache反向代理从一个虚拟主机到两个Tomcat

有没有人有一些提示或示例如何configurationApache Http Server 2.2上的这种反向代理安排? 我支持我们在多个环境中开发的Java Web应用程序。 在多个环境中,我的意思是我们在不同端口的同一个主机上运行一个Tomcat服务器的几个实例:development = 9443,QA = 10443,production = 11443 Java Web应用程序的devise使您可以在一台服务器上托pipe多个应用程序:每个应用程序都可以在自己的根上下文中访问。 如果你不熟悉这个技术,基本上,这意味着我的所有应用程序的页面都在https://myhost.mydomain.com/myapp的/ myapp后面。 Java Web应用程序还需要使用Cookie来维护会话状态,因此任何反向代理解决scheme都需要确保将代理主机名转换回外部主机名。 我们目前通过代理https://public.mydomain.com/myapp到https://tomcatserver.mydomain.com:11443/myapp的Apache反向代理将生产的Tomcat实例共享到互联网。 我们希望打开QA Tomcat实例到互联网,以便betatesting者能够到达它,但是https://publicserver.mydomain.com/myapp URL已经被设置为生产。 所以我们试图build立第二个代理,将https://publicserver.mydomain.com/beta映射到https://tomcatserver.mydomain.com:10443/myapp 。 这是我到目前为止所尝试的,但它不工作。 这两个地址(/ myapp和/ beta)总是以生产Tomcat实例结束。 <VirtualHost *:443> ServerAdmin [email protected] ServerName public.mydomain.com ServerAlias public # Proxy to production environment on tomcatserver ProxyPass /myapp/ https://tomcatserver.mydomain.com:11443/myapp/ ProxyPassReverse /myapp/ https://tomcatserver.mydomain.com:11443/myapp/ <location /myapp/> SSLRequireSSL On SetOutputFilter […]

在ubuntu 12.04上使用mod_jk:status页面设置一个简单的tomcat6集群的混乱将不会显示

当在干净的Ubuntu服务器12.04中设置2个tomcat6实例集群时,有点困惑。 我没有安装默认的tomcat6我用tomcat6-user的tomcat6-instance-create来创build2个实例。 我正在使用blogs.encodo.ch教程,不幸的是,我还没有遇到任何使用Ubuntu的教程如何configurationapache2像ubuntu 12.o4。 我的意思是,ubuntu使用的sites-available/enabled文件夹和mods-available/enabled 。 我已经安装了libapache2-mod-jk和mods-enabled了jk.load,jk.conf。 server instance-1 uses port 8081 for http, port 8009 for ajp with jvmRoute="worker1" and instance-2 uses port 8082 for http, port 8010 for ajp with jvmRoute="worker2" #/etc/apache2/workers.propeties worker.list=loadbalancer,jk-status #setup instance-1 worker.instance-1.port=8009 worker.instance-1.host=localhost worker.instance-1.type=ajp13 #worker.instance-1.lbfactor=50 #setup instance-2 worker.instance-2.port=8010 worker.instance-2.host=localhost worker.instance-2.type=ajp13 #worker.instance-2.lbfactor=100 #setup the load-balancer worker.loadbalancer.type=lb worker.loadbalancer.balance_workers=instance-1,instance-2 worker.loadbalancer.sticky_session=True #worker.loadbalancer.sticky_session_force=True # […]

使用.key,.ca和.cert文件为tomcat创buildjks

我有三个文件sample.cert,sample.CA,由Verisign提供的sample.key。 我需要为tomcat创build密钥库。 在我search时,我无法直接使用.key文件来创build密钥库。 我使用的命令如下: pkcs12 -export -in sample.cert -inkey sample.key -CAfile sample.crt -out sample.p12 (我将sample.CA更改为sample.crt。) 我使用openssl来创buildsample.p12文件。 然后通过使用keytool将sample.p12导入到sample.jsk。 keytool -importkeystore -srckeystore sample.p12 -destkeystore sample.jks -srcstoretype pkcs12 当我validation证书时,显示Intermediate certificate chaining issue 。 任何想法?

Apache Tomcat 7:反向代理

我需要Apache Tomcat作为反向代理(这是一个需求),用于其他两个服务(声纳和jenkins),这些服务以独立模式运行,每个服务在不同的端口上。 我的客户想要访问他们sonar.clienturl.com和jenkins.clienturl.com。 我以为使用Apache作为这种情况下的反向代理,因为我无法使Tomcat运行这两个应用程序(及其相应的.war文件),因为CPU利用率高的问题。 我search了如何做到这一点,并find了可以完成这项工作的J2EP插件。 但是我找不出应该使用哪个规则。 我需要将来自sonar.clienturl.com的所有请求“redirect”到localhost:9000和jenkins.clienturl.com到localhost:8080 似乎做的工作唯一的filter是RewriteRule ,但我的正则expression式不起作用。 “from”参数设置为"^sonar\.clienturl\.com(.*)" ,“to”设置为“localhost:9000 $ 1”。 我知道这个规则不会导致任何匹配,因为当没有规则被发现的时候,我被redirect到页面。 我怎样才能达到我的目标(有或没有这个插件)? ps:使tomcat直接运行这两个应用程序并设置虚拟主机不是一个选项。

无法从LAN中的另一台机器访问Tomcat

我有两个Web应用程序在Apache HTTP服务器上运行,这些应用程序使用端口8080和100.最近我已经安装了Apache Tomcat 7.0.42,并且已经将server.xml的端口号从8080更改为9999,作为Apache HTTP Server已经在使用8080了。 我能够使用localhost:9999和IP Address:9999从本地机器访问Tomcat。 但是我无法使用IP Address:9999另一台机器的IP Address:9999访问Tomcat服务器。 我可以从另一台机器上访问在端口8080和100上运行的其他应用程序。 要检查是否有任何端口问题,我停止了使用8080的应用程序,并将相同的端口给予Tomcat,但仍然无法从另一台机器访问Tomcat。 所以很明显这不是港口问题。 我认为Tomcat不接受远程请求,我假设我需要在server.xml文件中进行一些更改以启用远程访问。 请帮我解决这个问题。

使用mod_status在负载平衡apache机器上设置平衡器pipe理器

我正在设置一个运行Apache的Centos机器,以便在两个应用程序Web服务器之间进行负载平衡。 通常我会用F5(或其他硬件LB)来做这些事情,但是客户不想花费更多的钱,所以我把这些与虚拟机结合在一起。 我已经得到它在两台机器之间进行定期循环的工作,但是我只需要第二台服务器进行故障转移。 看到我的虚拟主机在下面: <VirtualHost *:80> Options +FollowSymLinks Include conf/virtualhosts.conf RewriteEngine on RewriteLogLevel 9 RewriteLog /var/log/httpd/rewrite_log RewriteRule ^/?h/(\.[0-9]+)/(string/.*)$ balancer://mycluster/$2?h=$1 [P,QSA] Header add Set-Cookie "h=.%{BALANCER_WORKER_ROUTE}e; path=/" env=BALANCER_WORKER_ROUTE <Proxy balancer://mycluster/> Order deny,allow Allow from all BalancerMember http://server1:8080 route=0 BalancerMember http://server2:8080 route=1 status=+H </Proxy> ProxyPreserveHost on ProxyPass / balancer://mycluster/ stickysession=h nofailover=On ProxyPassReverse / balancer://mycluster/ ProxyPass /balancer-manager ! <Location […]

诊断高Apache“繁忙的服务器”的原因数

提前道歉稍微罗嗦的问题。 我们提供J2EE Web应用程序的托pipe和应用程序pipe理。 技术堆栈是CentOS 5.9 64位,Apache 2.2.17,Tomcat 5,JBoss 4.2.2。 (虚拟)服务器有6 GB RAM。 我们通常在工作时间内看到大约2500个并发用户,并且通常环境运行正常(我们甚至已经破解了3300个并发用户,没有任何性能问题)。 最近我们有一些短暂的中断,我们不确定的根本原因。 中断只能持续几分钟 – 足以从监视软件获取警报电子邮件,validation应用程序不可用,打开服务器的terminal并重新启动服务 – 大约2-3分钟。 有关中断的一些信息: 所有服务仍在运行 – 没有任何崩溃,并且没有生成堆转储 浏览器中没有错误消息 当试图访问该网站时,浏览器中没有任何东西会加载,似乎花了一个永恒的思考 – 就像是“旋转车轮” 最初重新启动Apache恢复的访问; 但在2小时的第四次停机之后,我们重新启动了JBoss。 这似乎解决了这个问题。 在停机期间,并发性非常低 – 远低于工作时间的平均值 我们已经分析了日志文件,监控报告,GC日志等等。我们可以肯定的是,在停电的时候,监控软件报告说有一堆Apache Busy Server。 我不确定什么是繁忙的服务器,但在停电的时候,这个值在150到200之间。繁忙服务器的平均值大约是5,很less超过10.我们还可以从GC日志中看到在停电时似乎有记忆问题,例如: 4967.376: [Full GC [PSYoungGen: 17576K->0K(656384K)] [PSOldGen: 3131794K->628760K(3145728K)] 3149370K->628760K(3802112K) [PSPermGen: 157485K->157485K(315008K)], 2.6067200 secs] JVM选项是: JAVA_OPTIONS="${JAVA_OPTIONS} -Xms4096m -Xmx4096m -XX:NewRatio=3 -XX:PermSize=256m […]

如何访问在Windows Server 2012上运行的Apache Tomcat(与Microsoft SMTP服务一起)

我正在运行Apache Tomcat作为Windows Server 2012上唯一的HTTP服务器。 Tomcat已作为服务安装,并绑定到端口80. server.xml文件已将address="0.0.0.0"添加到连接器,并且Windows防火墙已针对所有端口80请求打开。 我的应用程序需要发送电子邮件警报给用户。 通过本地托pipe的SMTP服务(Apache James)进行直接交付一直是不可靠的。 为了确保这些电子邮件的发送,我select通过我们的主要电子邮件服务,微软的在线Office365服务来转发我的电子邮件。 要通过此服务进行中继,TLSencryption和其他安全措施是必要的。 正如你所想象的那样,微软的SMTP服务能够很好地发挥作用,但是我很难让其他基于Windows或者Java的服务正确地继续传输。 为了启用电子邮件传送,我安装了内置的Windows Server SMTP服务。 这个configuration一直很好,直到昨晚安装了最新一轮的Windows更新。 现在,我无法访问我的Tomcat服务器,并且端口80上的所有请求都不成功。 Tomcat日志显示: SEVERE: Error initializing endpoint java.lang.Exception: Socket bind failed: [730013] An attempt was made to access a socket in a way forbidden by its access permissions. at org.apache.tomcat.util.net.AprEndpoint.init(AprEndpoint.java:589) … 我的谷歌search导致了一些链接,暗示IIS套接字池是责任。 我已经尝试使用netsh http add iplisten 192.168.1.8为tomcat保留端口80,这允许Tomcat启动并在本地绑定。 我现在可以在本地机器上使用http://localhost/或http://127.0.0.1/来查看我的Tomcat站点。 但是,通过http://192.168.1.8/或通过任何networking连接访问仍然失败。 我无法find有关如何在Windows […]