Articles of tomcat

CentOS 6上的tomcat6:无法停止/重新启动服务

我有这个问题停止和启动tomcat6(包回购)。 我见过几个CentOS 6和RHEL 6盒子。 症状是,当我想重新启动或停止tomcat6它只是失败。 这似乎只是在运行了一段时间后才发生。 我有一个新的CentOS 6安装,并能够重新启动,但现在不再。 这就是我所看到的: # service tomcat6 restart Stopping tomcat6: [FAILED] Starting tomcat6: [FAILED] 当我尝试通过/usr/sbin/tomcat6 : # /usr/sbin/tomcat6 stop /usr/sbin/tomcat6: line 60: /logs/catalina.out: No such file or directory 并从/var/log/tomcat6/catalina.out输出: Oct 22, 2012 4:53:31 PM org.apache.catalina.startup.Catalina stopServer SEVERE: Catalina.stop: java.net.ConnectException: Connection refused at java.net.PlainSocketImpl.socketConnect(Native Method) at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:327) at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:193) at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:180) […]

tomcat不能将端口8080更改为80

我想将端口8080更改为默认的HTTP端口(80),以将Jersey应用程序用作HTTP Restful API。 因此,我将端口从8080更换为80(在/etc/tomcat7/server.xml ),并将其configuration为使用AUTHBIND( /etc/defaults/tomcat7 )。 重新启动服务后,我在/var/log/tomcat7/catalina.out发现了这个奇怪的错误。 有人可以翻译这个错误? 为什么tomcat无法创build套接字? 我使用的是Ubuntu 14.04和tomcat7。 INFO: Initializing ProtocolHandler ["http-bio-80"] Jul 25, 2014 4:08:28 AM org.apache.coyote.AbstractProtocol init SEVERE: Failed to initialize end point associated with ProtocolHandler ["http-bio-80"] java.net.SocketException: No such file or directory at java.net.PlainSocketImpl.socketBind(Native Method) at java.net.AbstractPlainSocketImpl.bind(AbstractPlainSocketImpl.java:376) at java.net.ServerSocket.bind(ServerSocket.java:376) at java.net.ServerSocket.<init>(ServerSocket.java:237) at java.net.ServerSocket.<init>(ServerSocket.java:181) at org.apache.tomcat.util.net.DefaultServerSocketFactory.createSocket(DefaultServerSocketFactory.java:49) at org.apache.tomcat.util.net.JIoEndpoint.bind(JIoEndpoint.java:397) at […]

在CentOS部署Tomcat时遇到防火墙问题

我正在尝试在CentOS环境中部署Tomcat服务器,但没有收到请求。 执行startup.sh工作正常,日志显示tomcat正在运行 16-Dec-2016 13:36:58.440 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler [http-nio-8080] 16-Dec-2016 13:36:58.444 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler [ajp-nio-8009] 16-Dec-2016 13:36:58.445 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in 14803 ms 运行netstat检查监听端口时,显示为监听 $netstat -atnp|grep LISTEN tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN 3321/java 为了跳过防火墙,我在iptables中添加了一个自定义规则。 $iptables -nL Chain INPUT (policy ACCEPT) target prot opt source destination ACCEPT tcp — 0.0.0.0/0 […]

mod_jk或mod_proxy

我尝试了谷歌search,唯一的文章,我发现比较这两个是从2005年到2002年。我只是build立我的第一个Tomcat实例运行Jira为我正在做一个项目。 我想通过端口80和apache代理这个。 从我可以告诉,我可以很容易地使用mod_proxy转发stream量。 使用mod_jk有什么区别? 这两个MOD有没有任何性能/安全的区别? 任何人有任何提示/经验设置转发通过Apache? 我正在运行Debian Lenny。

如何使用logrotate压缩和清理日志,但不能旋转它们

我有一个Tomcat服务器,通过阀门创build访问日志( org.apache.catalina.valves.FastCommonAccessLogValve )。 此阀门负责旋转访问日志文件,但不会压缩或在一段时间后删除它们。 目前,我有一个使用find […] -mtime +30 […]压缩和删除日志的cron作业。 我宁愿使用logrotate,以便日志轮转处于所有日志的集中位置。 我不喜欢为Tomcat提供单独的解决scheme。 我试图读取logrotate文档,但我仍然有点失落。 我可以使用logrotate来压缩和清理日志文件吗? 我该怎么做? 或者绕过这个问题,有没有一个Tomcat的访问日志阀,将压缩和清理日志文件? 感谢您的帮助!

我怎样才能防止服务器pipe理员可以看到数据?

我在Windows 2003 Server上运行Apache Tomcat,并将数据存储在mySQL数据库中。 我怎样才能防止服务器pipe理员可以看到任何数据?

Tomcat过度的内存消耗

我有一台运行Ubuntu 11.04(Natty)(64位)的新服务器。 我开始安装openjdk和tomcat6 。 当Tomcat服务器启动时,它立即使用480 + MB的内存。 这似乎是不成比例的,我想知道如果有人有一个解决scheme让Tomcat使用200-300 MB (或更less)的内存。 我使用了memtop来看看这个:(注意:我删除了所有大项,499MB项是Tomcat) user@xyz:~# python memtop-0.9.py PID | private/writ. mem |command | current | previous |(truncated) 19776 | 499.3 MB | +++++ |/usr/lib/jvm/java-6-openjdk/bin/java-Djava.util.logging.config.file=/var/lib/tomcat6/conf/logging.properties-Djava.awt.headless=true-Xm 18082 | 148.6 MB | +++++ |/usr/sbin/mysqld 1385 | 3.6 MB | ++ |pythonmemtop-0.9.py RAM usage: ============================================== 69.3 % 而且,你可以看到我安装了什么JDK和Tomcat包: user@xyz:~# dpkg –get-selections | […]

Tomcat Native是否值得麻烦?

一点背景:我有一个同时具有Servlet / JSPdynamic内容和静态文件的webapp。 页面始终是dynamic的,并为每个页面提供〜10个静态资源。 所有东西都通过HTTP提供(Tomcat Native似乎对HTTPS更有帮助)。 我打算在Tomcat 7和Java 6下托pipe这个webapp。 我在辩论是否使用Tomcat Native。 这是值得的麻烦/风险,或者这些天,热点足够快,我最好不打扰与Tomcat的本地? 在这一天结束的时候,我可能会以这两者为基准,但我也在寻找人们的经验。

Nginx或Apache作为Tomcat前面的Web服务器(Java应用程序)?

只是想知道Apache和Nginx之间的哪个Web服务器更好地被Tomcat支持? 我被吸引到使用Nginx的单线程function。 我想部署在HTTPS上运行的Java应用程序。 干杯

Tomcat中的redirect端口是什么?

很难理解tomcat文档,查看server.xml,你会发现一些端口可能很难理解,因为在文档中没有很好地解释它。 例如,这个行在configuration文件server.xml <Connector port="8345" protocol="AJP/1.3" redirectPort="9875" /> 在这里你可以find另一个redirect端口: <Connector executor="tomcatThreadPool" port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> 我明白连接器端口的作用。 在第一种情况下,你使用它来在apache中创build一个工作者,然后在那里发送它,然后你打开一个端口直接访问tomcat。 但是,当涉及redirect端口的事情变得模糊。 下面是tomcat文档给出的关于ajp端口的解释: 如果此连接器支持非SSL请求,并且收到匹配需要SSL传输的请求,Catalina将自动将请求redirect到此处指定的端口号。 我总是select一个超过1024的随机redirect端口,它的工作原理, 但是什么时候这会实践呢? 如何知道请求何时需要SSL传输? 我有一个运行tomcat模块的卫星服务器。 这个模块通过从主服务器将stream量redirect到带有apache的ajp连接器,反之亦然。 在主服务器中,https是在apache中强制执行的。 这是否意味着所有的请求被发送到卫星服务器encryption或纯文本? 我知道,如果我通过端口8080访问卫星服务器,它没有encryption,但我想知道这是否适用于redirect到主服务器的stream量,以及这个redirect端口在哪里生效。