Articles of tomcat

到Tomcat的IIS 7.5 JK连接器

我有许多Tomcat服务器使用较旧的32位版本的isapi_redirect.dll,我将默认应用程序池设置为启用32位应用程序。 在客户端的服务器上,他们需要在同一个不适用于32位的应用程序池下安装另一个ISAPI。 我正在尝试将isapi_redirect.dll更新为64位。 我从这里下载了tomcat-connectors-1.2.40-windows-x86_64-iis.zip 。 我禁用了默认应用程序池的32位支持,并浏览到本地主机。 我看到的不是出现错误,而是IIS 7默认欢迎页面。 如果我从它的文件夹中删除isapi_redirect.dll,我不会得到一个错误。 我认为这意味着IIS甚至不试图find.dll。 我是否需要启用或更改其他内容以允许Tomcat使用64位的isapifilter? 我遵循类似于此的设置,除了我有一个isapi_redirect.properties文件而不是registry项和文件夹不同。 这适用于我的32位isapifilter。 我没有尝试与64 isapifilter的registry方式,也没有运气。

是什么导致Apache httpd(+ mod_proxy_ajp)删除连接

我有以下configuration的VirtualHost(Apache 2.2.22) <VirtualHost *:80> ServerName ************ ProxyRequests Off <Proxy *> Order deny,allow Allow from all </Proxy> ErrorLog /var/log/apache2/dalo-lt_error_log LogLevel warn TransferLog /var/log/apache2/dalo-lt_access_log ProxyPass / ajp://localhost:8009/ ProxyPassReverse / ajp://localhost:8009/ <Location /> Order allow,deny Allow from all </Location> </VirtualHost> 在我的Tomcat的server.xml (7.0.39) <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" connectionTimeout="60000" maxConnections="36864" maxThreads="600" /> <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" maxConnections="36864" maxThreads="600" redirectPort="8443" /> […]

与Java Tomcat和Apache的Apache的Apache 2虚拟主机

操作系统:Ubuntu2服务器:Apache2,Tomcat7 我错过了apache和tomcatconfiguration的知识。 有没有可能创build一个vhost example.com <VirtualHost *:80> ServerName example.com # PseudoCode DocumentRootJava /var/www/example/ DocumentRootPhp /var/www/app/ </VirtualHost 其中/ var / www / example / hosts是一个java应用程序, / var / www / app是一个php应用程序的宿主? 换句话说, example.com应该启动java应用程序, example.com/ app应该运行php代码。 编辑 我认为apaches mod_proxy可以完成这项工作: <VirtualHost *:80> ServerName example.com ProxyRequests Off ProxyPreserveHost On <Proxy *> Order deny,allow Allow from all </Proxy> ProxyPass / http://localhost:8080/tomcat-application […]

(103)软件导致连接中止:代理:通过请求主体失败

在使用Tomcat服务器处理请求时,我们的代理Apache日志中logging了以下错误: (103)Software caused connection abort: proxy: pass request body failed proxy: pass request body failed 我们有一个Apache反向代理服务器,它从Tomcat服务器为客户端提供请求。 有时,来自代理的请求返回502,出现上述错误。 Tomcat服务器中没有错误日志与Proxy中的上述错误相关联的日志。 此外,请求没有超时,因为一些请求响应时间是1秒,我们的默认超时是120秒。 我们已经将ProxyBadHeader Ignore添加到了我们的httpdconfiguration[Ref:502代理错误/从Apache(mod_proxy)上传到Tomcat 7],并且在我们的Tomcat日志中仍然没有看到任何错误。 有没有人看过这个问题?

在Apache 2.2的LocationMatch指令中使用JkMount

我在Apache 2.2.2 Debian Wheezy上。 我以前有过使用以下命令的所有对VirtualHost转发到Tomcat的请求: JkMount / ajp13_worker JkMount /* ajp13_worker 现在,我想从这个设置中排除一个特定的URL前缀foo ,但是保留它。 我尝试使用LocationMatch指令,如下所示: <LocationMatch "^/(?!foo)"> # JkMount commands </LocationMatch> 如果按原样使用,则会出现以下错误消息: JkMount can not have a path when defined in a location 但是,如果我尝试使用JkMount ajp13_worker那么我得到的错误消息: JkMount context should start with / 我怎样才能得到正确的行为只有不以/foo开头的url?

越来越多的内存使用

让我从图片开始: 这是我们的备份Tomcat服务器的内存使用情况。 它只是挂在那里,每对夫妇处理简单的健康检查请求,并等待主服务器崩溃带负载。 而且它的内存使用量还在不断增加。 主服务器具有相同的增长内存。 Nagios迟早会开始发送有关内存和交换使用的短信和电子邮件。 两台服务器都运行CentOS 7,内核3.10,Java 1.7和Tomcat 7。 即使当我使用systemctl stop tomcat停止Tomcat服务器时,内存仍然保持使用状态。 只有我发现释放内存的方式是sync && echo 3 > /proc/sys/vm/drop_caches 。 所以,解决方法是把它放在cronjob 。 但我想find一个合适的解决scheme。 我发现这个线程有关类似的问题,它提到设置MALLOC_ARENA_MAX为4(和一些其他线程的build议只是1),我也发现一个线程说它应该与MALLOC_CHECK_环境variables一起工作。 但事实并非如此。 这就是你可以在图表右侧看到的东西。 如果我看广告使用的内存 ,它保持在600 MB左右,并使用非堆内存在70 MB。 你有什么想法可能会导致这一点,以及如何解决这个问题? 我再说一遍,在Tomcat停止后,内存不会被释放,所以我不相信这是在我们的应用程序泄漏。 # free -m total used free shared buffers cached Mem: 64268 4960 59307 64 0 135 -/+ buffers/cache: 4824 59443 Swap: 2047 0 […]

如果2个tomcat正在运行,请获取pid

我有2个tomcat正在运行,如果两个都有类似的名字,我怎么得到这个pid? ps -ef | grep java root 12952 1 0 10:01 pts/0 00:00:03 /usr/lib/jvm/jre/bin/java -Djava.util.logging.config.file=/usr/local/realbid/tomcat-realbid-ws/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.endorsed.dirs=/usr/local/realbid/tomcat-realbid-ws/endorsed -classpath /usr/local/realbid/tomcat-realbid-ws/bin/bootstrap.jar -Dcatalina.base=/usr/local/realbid/tomcat-realbid-ws -Dcatalina.home=/usr/local/realbid/tomcat-realbid-ws -Djava.io.tmpdir=/usr/local/realbid/tomcat-realbid-ws/temp org.apache.catalina.startup.Bootstrap start root 12995 1 0 10:02 pts/0 00:00:03 /usr/lib/jvm/jre/bin/java -Djava.util.logging.config.file=/usr/local/realbid/tomcat-realbid/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.endorsed.dirs=/usr/local/realbid/tomcat-realbid/endorsed -classpath /usr/local/realbid/tomcat-realbid/bin/bootstrap.jar -Dcatalina.base=/usr/local/realbid/tomcat-realbid -Dcatalina.home=/usr/local/realbid/tomcat-realbid -Djava.io.tmpdir=/usr/local/realbid/tomcat-realbid/temp org.apache.catalina.startup.Bootstrap start root 13317 12252 0 10:12 pts/0 00:00:00 grep java 如果我使用基本的grep,我得到了两个pid(s) echo `ps aux […]

一个java服务器应用程序必须留给操作系统多less内存?

假设我正在运行-Xms256m -Xmx1024m的tomcat,但是想增加我的堆使用率。 什么是我可以分配的最大的安全堆大小? 为了这个问题的目的,请假设,系统有5GB的RAM,是z / Linux系统。 但是,如果可能的话,我想要一个更广泛的经验法则的答案。 另外,如果这是重复的,对不起。 我很惊讶,我没有find关于这种事情的更多信息。 不是重复的:我看着这里 ,但是,他的答案似乎只是一个猜测,没有备份。 在这个问题上的其他答案不是很清楚和/或具体到我的问题。 1)我不是在一个窗口32位系统上,2)我没有问PermGen,虽然可能会提到一个很好的答案,3)第三个答案的确说“最后,你还必须考虑到其他在服务器上运行的东西,也需要RAM“,但这不是一个确切的答案。 我现在只是担心内存的操作系统使用情况。 编辑:这是专用的系统,所以我最担心的操作系统内存使用情况。 我不担心其他程序。 GC

如何在RHEL6上运行TomEE作为服务?

cat /etc/passwd (最后一行): tomee:x:990:987::/home/tomee:/bin/false 我需要做一个init.d脚本来运行Tomcat EE,比如service tomee start 。 所以我有两个问题: 我怎样才能执行命令(从根)作为一个tomee用户(没有bashlogin)? sudo su – tomee -c“一些命令” 不起作用。 sudo – tomee -s "/bin/bash" -c "some command" 作品,但我觉得它看起来很可怕。 据我所说,我打算使用它/etc/init.d/tomee服务bash脚本,这里的问题我需要JAVA_HOME环境variables之前执行上述命令。 (那么如果用户是系统而没有shell,怎么办呢?) 我也有一个问题(警告), couldn't change dir to /home/tomee 。 是的,它不存在,但我创build了一个系统的用户。 我正在使用一个RHEL(不是最新的,所以没有systemd)。 如何在RHEL6上运行TomEE作为服务? 更新#1: [root@localhost httpd]# su tomee /usr/local/tomee-webprofile-1.7.2/bin/startup.sh [root@localhost httpd]# 没有结果。 只要 su – tomee -s "/bin/bash" /usr/local/tomee-webprofile-1.7.2/bin/startup.sh 工作,但我不想看到这个可怕的 […]

Tomcat连接到Mysql负载均衡器

我想以负载均衡的方式连接tomcat和mysql。 这可能在Tomcat 7中吗? 以下configuration需要进行哪些更改? <Resource name="jdbc/TestDB" auth="Container" type="javax.sql.DataSource" maxActive="100" maxIdle="30" maxWait="10000" username="javauser" password="javadude" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/javatest"/> 我有2个MySQL服务器localhost:3306&secondhost:3306 谢谢