可能重复: 你能帮我解决我的软件授权问题吗? 我正在开发的其中一个项目看起来就像我们需要从CentOS 5.4迁移到其他项目(我们需要运行Postgresql 8.3+,而CentOS / RHEL只支持8.1),而其中一个选项将是Windows Server。 自2008年以来,R2就是我所看到的。 我需要运行Postgres和Tomcat,并且不需要任何Windows像IIS一样的东西(如果我可以运行Server Core,甚至更好!)。 另一个踢球者是通过VMWare ESXI 4.0进行虚拟化,以便我们有三个独立的框:开发,质量和生产服务器。 从许可的angular度来看,我只用Web Server版本就够了。 我是否正确地认为这将是三个许可证? 或者我应该跳到企业,以便获得4个VM许可证?
背景: 我有一个主机在我的Tomcat的server.xml中configuration为: <Host name="mydomain.com" appBase="webapps/myapp" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"> <Context path="" docBase="."/> </Host> 问题: 当我在浏览器中inputhttp://mydomain.com ,效果很好。 但是当我键入http://www.mydomain.com它显示一个空白页面。 解决方法我试过了: 我试图创build另一个主机为: <Host name="www.mydomain.com" appBase="webapps/myapp" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"> <Context path="" docBase="."/> </Host> 结果: 这似乎工作正常(当我键入http://www.mydomain.com ,它会显示我常规网站)。 但后来我发现了这种方式,Tomcat创build了同一个应用程序的两个实例; 这种方法无效。 请让我知道,如果你认为有一个更好的解决方法。 非常感谢! PS 这是我在serverfault.com的第一个问题,我不知道这个问题之前(至less我找不到)。 链接到任何这样的相关问题也将不胜感激。
我现有的conf / context.xml文件已经有一个元素; WEB-INF / web.xml文件 我想添加另一个允许本地主机访问到/pipe理器/状态位置我的监测,但是像这样添加一个新的上下文元素; conf / context.xml文件 —- <Context> <WatchedResource>WEB-INF/web.xml</WatchedResource> </Context> <Context path="/manager" privileged="true" docBase="/usr/share/tomcat6/webapps/manager"> <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="127\.0\.0\.1"/> </Context> —- 打破了XML,因为我认为该文件需要一个根元素lint /parsing确定SEVERE:parsing第6行第2列的致命错误:在根元素之后的文档中的标记必须格式良好。 org.xml.sax.SAXParseException: The markup in the document following the root element must be well-formed. at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:195)
我决定从yum自动更新中排除tomcat。 我想知道什么时候有新的更新,所以我可以检查他们的价值。 我看到你可以设置yum发送电子邮件通知,当包的更新可用。 但有没有什么办法可以过滤它,以便只有在更新可用于tomcat时才会收到电子邮件? 或者,如果失败,任何人都知道我可以订阅接收这个更新信息的Tomcat? 干杯, 克里斯 PS。 Serverfault是正确的这个职位,而不是超级用户,例如?
我正在运行一个具有2个自定义servlet的Apache Tomcat服务器。 树结构看起来像: $CATALINA_HOME/webapps/ ROOT/ WEB-INF/ servlet1/ META-INF/ WEB-INF/ servlet2/ META-INF/ WEB-INF/ 我正在尝试为错误400,404上显示的每个servlet添加一个自定义错误的html页面,并且在servlet上有一个exception(例如应该发送给http请求上的servlet的信息是不在那里) 我添加到$CATALINA_HOME/webapps/servlet1/WEB-INF/web.xml <error-page> <error-code>400</error-code> <location>/error.html</location> </error-page> <error-page> <error-code>404</error-code> <location>/error.html</location> </error-page> <error-page> <exception-type>java.lang.Throwable</exception-type> <location>/error.html</location> </error-page> 我在$CATALINA_HOME/webapps/ROOT/创build了error.html 。 这似乎并没有工作。 当我键入“ www.server.com/servlet1/SomRandomStuff获得一个404,显示一个空白页面,而不是error.html。当我调用servlet没有传递正确的信息时,会发生其他事情,浏览器会问我如果我想下载一个文件。 我已经尝试将error.html放在ROOT上,但放在servlet1目录下。 没有工作。 我检查了error.html有正确的权限,这是OK的。 我出来的想法,我在网上find的几个教程是非常模糊的。 我究竟做错了什么? 我如何做到这一点 – 显示每个servlet的自定义错误页面? 感谢您的帮助。
我有一个Java Web应用程序,我正在使用Tomcat进行部署,但是我遇到了一些麻烦。 问题是我的web应用程序必须与某些本地库(通过JNI)进行通信,而且这些库不会正常处理错误,所以如果尝试启动Tomcat,并且本地调用失败,Tomcat启动会中途中止,并且不会启动。 我想要做的是Tomcat不启动这个Web应用程序,因为我会用其他方式启动Web应用程序,这将确保本地电话将工作。 具体来说,本地调用是与另一个必须已经运行的系统通信以使本地调用成功。 我发现的一个有趣的事情是,如果一旦Tomcat在本地库中成功运行故障,重新加载应用程序,只会导致上下文失败,Tomcat将继续正常运行。 我已经google了一下,看到指向context.xml文件的指针,但是我不清楚我是否可以使用它来实现我的目标,因为Tomcat引用似乎没有列出任何停止在启动时自动加载上下文的属性。
在CentOS 6.3上安装tomcat6之后,我无法启动tomcat6服务器。 root@host [/var/log/tomcat6]# service tomcat6 start Starting tomcat6: [ OK ] 虽然说OK ,我不能访问http://mydomain.com:8080 。 catalina.out中 Exception in thread "main" java.lang.NullPointerException at java.lang.VMClassLoader.defineClass(libgcj.so.10) at java.lang.ClassLoader.defineClass(libgcj.so.10) at java.security.SecureClassLoader.defineClass(libgcj.so.10) at java.net.URLClassLoader.findClass(libgcj.so.10) at gnu.gcj.runtime.SystemClassLoader.findClass(libgcj.so.10) at java.lang.ClassLoader.loadClass(libgcj.so.10) at java.lang.ClassLoader.loadClass(libgcj.so.10) at gnu.java.lang.MainThread.run(libgcj.so.10) Tomcat6是使用yum安装的: yum -y install java tomcat6 tomcat6-webapps tomcat6-admin-webapps 当我试图find版本: tomcat6 version : Exception in thread "main" java.lang.NoClassDefFoundError: org.apache.catalina.util.ServerInfo […]
我有很慢的Tomcat从应用程序部署开始。 环境: 操作系统:科学Linux 6.3 x86_64 Java:1.7.0_9 64位 Tomcat:7.0.32 启动花了150s和Java进程是在100%的CPU 我尝试了另一台服务器(具有相同的硬件参数)上的相同的Web应用程序,但在操作系统32位与java6 32位和tomcat 7.0.19,并在这台服务器上的tomcat启动30秒。 我在新的服务器上尝试了相同的Java和相同的tomcat没有太多的成功。 这是tomcat日志的一部分,当它等待的东西… FINE: Setting state for [WebappLoader[]] to [STARTING] Nov 19, 2012 1:23:13 PM org.apache.catalina.util.LifecycleBase setStateInternal FINE: Setting state for [WebappLoader[]] to [STARTED] Nov 19, 2012 1:24:06 PM org.apache.catalina.util.LifecycleBase setStateInternal FINE: Setting state for StandardEngine[Catalina].StandardHost[localhost].StandardContext[].StandardWrapper[starthead]] to [INITIALIZING] … Nov 19, 2012 1:24:06 PM […]
我运行了许多tomcat实例,偶尔也会停止响应请求 – 每个连接都会超时。 我在Apache 2.2中使用了mod_proxy的AJP。 我通过Apache / AJP通过Tomcat的AJP连接器获取超时,但也通过8080上的直接HTTP连接器。 我在Apache中configuration了/server-status ,它显示了16个当前正在处理的请求,4个空闲请求和200多个没有连接的空闲时隙。 我的AJP连接器configuration为: <Connector port="8009" address="localhost" maxThreads="250" minSpareThreads="5" maxSpareThreads="15" connectionTimeout="1000" packetSize="16384" maxHttpHeaderSize="16384" enableLookups="false" redirectPort="8443" emptySessionPath="true" URIEncoding="UTF-8" protocol="AJP/1.3"/> 所以它应该有足够的线程来接受新的连接。 使用top我看到CPU和等待两个1%和Java进程有80%的内存。 有60M空闲内存和200M免费互换。 我使用了一个特殊的threads.jsp页面 SystemThreadList stl = new SystemThreadList(); Thread[] allThreads = stl.getAllThreads(); 它提供了有用的信息,但是在这个状态下它也不加载。 在catalina.log中我看到: Mar 07, 2014 11:53:09 AM org.apache.jk.common.ChannelSocket processConnection WARNING: processCallbacks status 2 并从其他Web请求偶尔活动,但不是我的。 有没有从命令行的方式,或使用一个分析器获得线程和堆栈跟踪列表来找出什么是卡住?
我一直试图弄清楚这一点,没有任何运气。 我相信你们都知道,aws负载均衡器通过端口80将所有https请求转发到ec2实例上。我需要以某种方式将所有http请求redirect到https。 我到目前为止收集的是你需要以redirect规则修改ec2实例,然后将实例保存为新的AMI并将beanstalk指向新的AMI。 那么其余的似乎还不清楚,我不是服务器专家,所以请裸露在我身边。 我发现下面的重写规则,但不幸的是我不知道该怎么办。 RewriteEngine On RewriteCond %{HTTP:X-Forwarded-Proto} !=https RewriteRule ^/(.*)$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R=301] 我ssh'd到我的EC2实例,并去/etc/httpd/这就像我做到了。 我完全失去了我想从那里做的事情。 我是否修改文件或创build新文件? 如果我需要修改或创build一个新文件,它将会在哪里,或者我会怎么称呼它,它会在哪里? 有人可以提供文件的确切内容 一旦我创build/修改这个文件,接下来我该做什么? 我只是去ec2页面,点击我的实例旁边的checkbox,点击操作,最后创build图像? 如果是这样,这是什么意思? 我不知道我想在这里设置什么设置。 最后,我假设我只是在我的beanstalk仪表板中进行configuration,并将我的beanstalk env指向我的新AMI并重新启动服务器。 这听起来正确吗? 如果有人知道如何做到这一点,或详细描述过程的网站,我会appriciate它。 我想指出,我在tomcat上使用Java应用程序。 我不确定自定义AMI是否会影响扩大服务器大小。 非常感谢。