Articles of tomcat

自动重新启动服务(如tomcat)是一个好主意吗?

在崩溃的情况下,有没有任何理由不自动重新启动tomcat? 如果这意味着由于崩溃而导致的停机时间减less,那么重启进程看起来像是一件容易的事情,尤其是在生产环境中,但通常这并不是大多数发行版提供的/etc/init.d/tomcat6中的默认设置。 这是有道理的,在开发过程中,如果服务器崩溃,你想知道它,然后能够在当前状态的系统进行故障排除。 在生产环境中自动重启Tomcat等服务是否是“最佳实践”?

在tomcat 6上部署我的网站

我正在尝试使用tomcat为我的网站www.mywebsite.com服务。 我没有使用Apache,只使用tomcat作为我的networking服务器。 我已经默认端口80,目前我有mywebsite.war躺在webapps文件夹。 当我启动tomcat时,mywebsite解压并仅在webapps中部署到名为mywebsite的文件夹。 我面临的问题是,当我尝试访问我的网站www.mywebsite.com,它打开了tomcat的欢迎页面不是我的网站[这是可以理解的在我的configuration中的一些问题]。 要访问我的网站,我也必须input子文件夹名称。 这意味着,我使用www.mywebsite.com/mywebsite/welcome.html访问我的网站。 请问一些人,请指导我如何才能从www.mywebsite.com服务我的网站? 我需要在这里做什么额外的configuration?

检测tomcat集群中的原始节点是否失败

我有一个群集中的两个节点。 Node1最初服务器请求。 如果第一个节点失败,负载均衡器会将请求redirect到节点2。 我想知道节点2是否有办法检测是否正在获取为节点1假设的请求,换句话说,是否知道节点1是否失败。 我正在使用会话复制的Tomcat 6。

Apache到Tomcat代理当我redirect到文件不在proxyPass中时要做什么

我已经configuration了一个从apache2代理到tomcat6所有工作,简单,但我有一个问题,当我从我的tomcat应用程序,我需要redirect到一个JSP,这是我用ProxyPass指令configuration的目录之外。 这是我有: ProxyRequests Off ProxyPreserveHost On ProxyPass / http://127.22.22.1:8080/jsp/app/crm/ ProxyPassReverse / http://127.22.22.1:8080/jsp/app/crm/ 我需要redirect到一个文件是http://127.22.22.1:8080/ut/disable.jsp ,当它redirect到我得到: /ut/disable.jsp?error=The%20user%20can't%20access%20the%20page HTTP/1.1" 404 1084 我怎样才能启用其他目录的其他文件进行代理? 只是从jsp/app/crm/目录内?

在使用自签名证书的本地主机https连接的地址栏中获取“挂锁”符号是否可能?

我目前在Tomcat中使用一个使用Java Keystore工具的自签名证书来实现SSL的Web应用程序。 我在我的机器上使用web应用程序作为本地主机。 当我访问的url https://localhost:8443 挂锁符号不会出现在地址栏中,但页面会成功加载。 为什么这发生? openSSl能解决这个问题吗?

JVM / Tomcat何时并行发生多个上传(堆空间)?

我有一个运行在Tomcat 7上的Servlet应用程序。我在setenv.sh中设置了以下内容 CATALINA_OPTS=" -server -Xms1G -Xmx5G -XX:MaxPermSize=512m -Dfile.encoding=UTF-8"; 服务器运行在Ubuntu 12.04LTS上,有6个内核和8GB的RAM。 我的应用程序是一个Grails / Spring / Java应用程序,用户可以上传图片。 有时会出现3-5个用户同时开始上传图像的情况。 在这些情况下,我的Tomcat崩溃,因为有以下错误: java.lang.OutOfMemoryError: Java heap space 我知道我必须增加我的Tomcat的Xmx参数来防止这个问题。 但是严重的是我的情况出了什么问题? 有没有最好的做法来处理像我的情况下file upload? 我可以防止这个问题一些如何? 我的意思是当5GB的时间不足以进行3-5个并行上传时,我需要几百个并行上传的资源? 是我的应用程序如此糟糕,或者是正常的file upload需要这么多的资源? 以下是在Grails控制器中处理上载的代码: CommonsMultipartFile file = (CommonsMultipartFile) request.getFile('image') file.transferTo(new File("${storagePath}${fullFileName}")) 上传后,我做了很多image processing。 有没有办法排队的过程?

WebSocket不适用于AWS ElasticBeanstalk上的Apache Tomcat 7

我只是在ElasticBeanstalk上设置了我的Web应用程序。 一切似乎工作正常,直到我发现我的实例不能使用WebSocket,每次我试图连接内部服务器的错误代码被回避。 当我检查日志时,发现NullPointerException,这是不太可能由我造成的。 这里是stacktrace: Aug 27, 2013 5:01:18 PM org.apache.catalina.core.StandardWrapperValve invoke SEVERE: Servlet.service() for servlet [WebSocketChannel] in context with path [] threw exception java.lang.NullPointerException at org.apache.catalina.websocket.WebSocketServlet.getWebSocketAccept(WebSocketServlet.java:171) at org.apache.catalina.websocket.WebSocketServlet.doGet(WebSocketServlet.java:116) at javax.servlet.http.HttpServlet.service(HttpServlet.java:621) at javax.servlet.http.HttpServlet.service(HttpServlet.java:722) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:225) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98) at org.apache.catalina.valves.RemoteIpValve.invoke(RemoteIpValve.java:680) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407) at […]

如何configuration我的httpd重写/代理,以指导app1.example.com:443到本地主机:8080和app2.example.com:443到本地主机:8081?

我有两个Tomcat实例,一个在端口8080上运行,另一个在8081上运行。两者都部署了一个名为app.war的web应用程序,但它们不仅被不同的端口分开,而且被不同的数据存储区分开。 然而,每个运行在同一个物理盒子上。 我们组织中的防火墙规则指定我只能通过端口443提供HTTPS服务。不支持HTTP,也不支持80,8080或8081的HTTPS。 物理盒运行RHEL5,在eth0上运行一个IP。 DNS设置为映射到app1.example.com和app2.example.com的框。 如何configuration我的httpd重写/代理,以指导app1.example.com:443到本地主机:8080和app2.example.com:443到本地主机:8081? 编辑 : 这是我试过的… LoadModule ssl_module modules/mod_ssl.so Listen 443 NameVirtualHost *:443 ProxyRequests Off <VirtualHost *:443> ServerName app1.example.com SSLProxyEngine On SSlProxyMachineCertificateFile /etc/httpd/cert/10year.pem SSLVerifyClient Off <Proxy *> Order deny,allow Allow from all </Proxy> ProxyPass / https://app.example.com: / ProxyPassReverse / https://app.example.com:8080/ ProxyPassReverseCookieDomain app.example.com app1.example.com <Location /> Order allow,deny Allow from all </Location> </VirtualHost> […]

在部署在同一个tomcat 7容器或不同的tomcat 7实例中的应用程序之间,消耗RAM的理想策略是什么?

我一直在考虑如何pipe理不同的3个Java Web应用程序之间的RAM。 我头脑中已经模糊了概念。 Deploy all the web apps in the same tomcat7实例中Deploy all the web apps in the same tomcat7或者有3 different instances的tomcat 7 3 different instances ,在这些3 different instances中,我将分别使用一个Web应用程序。 但是最大的问题是如何有效地共享10GB的盒子(12GB RAM)呢? 假设我有3 GB的MySQL,所以应用程序A takes 4GB ,应用程序B 2GB和C 1GB 。 什么是已知和最佳做法来实现这一目标?

将联机域移到本地计算机

如果我将服务器移动到本地计算机,如何访问在本地networking中提供的网站? 现在,如果您访问网站的链接,域名将指向我们的服务器,但是我们将服务器从托pipe公司移到我们的办公室。 我们不需要保持服务器公开。 我们只需要它在当地使用。