我想通过一个普通的网站URL(如www.xyz.com运行一个Tomcat应用程序。 我希望这个域的根作为Web应用程序的基本目录,因此每个到www.xyz.com/a/b/c请求都会变成www.abc.com:8080/myApp/a/b/c 。 理想情况下,我可以做到这一点透明,只为某些webapps。 www.abc.com:8080应该仍然回应请求。 我需要做些什么才能做到这一点?
我在Windows服务器上安装了Tomcat,但无法启动。 我开始服务,我看到进度栏,但它失败。 我安装了Java运行时环境版本6并创build了JRE_HOME环境variables。 (C:\ Program Files \ Java \ jre6) 以下是jakarta_serviceYYYMMDD.log条目: [2010-04-08 14:22:42] [info] Commons Daemon procrun (1.0.2.0) started [2010-04-08 14:22:42] [info] Running Service… [2010-04-08 14:22:42] [info] Starting service… [2010-04-08 14:22:42] [info] Error occurred during initialization of VM [2010-04-08 14:22:42] [info] java/lang/NoClassDefFoundError [2010-04-08 14:22:42] [info] : java/lang/Object 我该如何解决这个问题?
我疯狂地设置在远程debugging模式下的Ubuntu 10下的Tomcat。基本上我把它添加到/etc/init.d/tomcat6(在开始): JAVA_OPTS="-Djava.awt.headless=true -Xmx256M -Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n" 但是我看不出任何效果…事实上,我看不到端口8000打开netstat -a和Eclipse远程debugging器说它无法连接。 如果我做ps -A u | grep java我得到: tomcat6 9612 3.1 13.1 470560 154168 ? Sl 15:24 0:17 /usr/lib/jvm/java-6-sun/bin/java -Djava.util.logging.config.file=/var/lib/tomcat6/conf/logging.properties -Djava.awt.headless=true -Xmx128m -XX:+UseConcMarkSweepGC -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.endorsed.dirs=/usr/share/tomcat6/endorsed -classpath /usr/share/tomcat6/bin/bootstrap.jar -Dcatalina.base=/var/lib/tomcat6 -Dcatalina.home=/usr/share/tomcat6 -Djava.io.tmpdir=/tmp/tomcat6-tmp org.apache.catalina.startup.Bootstrap start 注意它甚至没有设置堆大小(如果这是有意义的)。 那么有什么提示?
最近我把我的tomcat服务器从6.x版本升级到最新的7.x版本。 我想出了一点麻烦,希望能得到帮助。 我有一个应用程序调用MyApp 在tomcat6,当我去http://www.example.com/MyApp/page/我通常会得到想要的结果。 现在,在tomcat7上,访问相同的确切url(跟着斜线)我得到错误:“资源不可用”,因为tomcat认为/ MyApp / page /是一个完整的webapp名称而不是请求名MyApp网页下的页面。 我需要在我的url末尾的斜线,否则我得到的错误:“HTTP状态405 – 请求方法”不支持GET“这是好的,因为我真的不允许GET方法的”页面“请求。 如果有人知道如何告诉tomcat现有的webapp的path后的斜线不应该假设redirect到新的webapp调用整个“string”,只是像tomcat6上处理请求,这将是伟大的!
在Ubuntu 10.04.3 LTS上,在安装Tomcat 6之后,添加一个pipe理员/pipe理员帐户的方法是在/etc/tomcat6/tomcat-users.xml添加一个这样的logging: <role rolename="manager"/> <role rolename="admin"/> <user username="user" password="password" roles="manager,admin"/> 这个密码是纯文本的,我对此不太舒服。 有没有办法像使用哈希代替? 如果你有一个非Ubuntu的解决scheme,我可以翻译它。
操作系统:Windows Server 2008 SP2(在Amazon EC2上运行)。 使用Apache httpd&tomcat服务器6.02和Web服务器运行Web应用程序具有保持活动设置。 在TIME_WAIT状态下有大约69,250(http端口80)+ 15000(除了端口80)TCP连接(使用netstat&tcpview)。 即使停止Web服务器(等待24小时),这些连接似乎也没有closures。 性能监控计数器: TCPv4有效连接:145K TCPv4被动连接:475K TCPv4故障连接:16K TCPv4连接重置:23K HKEY_LOCAL_MACHINE\System \CurrentControlSet\Services\Tcpip\Parameters没有TcpTimedWaitDelay键,所以值应该是默认值(2 * MSL,4分钟) 即使有数以千计的连接请求同时到来,为什么Windows操作系统不能最终清理它们? 这种情况背后的原因是什么? 有没有办法强制closures所有这些TIME_WAIT连接,而无需重新启动Windows操作系统? 几天后,我们的应用程序停止采取任何新的连接。
我使用apt-get install tomcat6在Ubuntu 9.04服务器上安装了Tomcat6。 我使用pipe理器界面上传了一个WAR,并试图启动该应用程序,但在Web界面上发现一个非常普遍的错误,称它无法启动。 我试图find日志,以确定为什么我的战争不会开始(我怀疑低记忆,因为我在一个小的VPS),但我不知道他们在哪里。 / var / lib / tomcat6 / logs是空的。 我的Tomcat醒目页面可靠地告诉我以下; Tomcat is installed with CATALINA_HOME in /usr/share/tomcat6 CATALINA_BASE in /var/lib/tomcat6, following the rules from /usr/share/doc/tomcat6-common/RUNNING.txt.gz. UPDATE 我试着跑步; $ ps -ax /usr/bin/jsvc -user tomcat6 -cp /usr/share/java/commons-daemon.jar:/usr/share/tomcat6/bin/bootstrap.jar -outfile SYSLOG -errfile SYSLOG -pidfile /var/run/tomcat6.pid 但是/ var / log / syslog中没有任何内容 也跑 $ losof […]
环境是Ubuntu 10.04.1 LTS从回购站运行Tomcat 6和Apache 2.2。 Apache被configuration为代理请求到Tomcat,所以我真的想closuresTomcat监听外部IP地址的请求。 我发现如何使用Connector标记更改/etc/tomcat6/server.xml中的端口号,但这不是我所需要的。
我最近通过apache solr typo3社区的安装脚本安装了tomcat,并花了最后3天试图弄清楚为什么它不会工作,直到我偶然发现,当我查询通过“lsof -i “,它绑定到ipv6协议。 我已经到处search,大多数说tomcat连接器设置地址为0.0.0.0解决了这个问题,其他人说设置JAVA_OPTS =“ – Djava.net.preferIPv4Stack = true” ; 我试过前者不行,但是后者我不知道该把它放在哪里。 我在某处阅读的一个解决schemebuild议将它放在setenv.sh中,但是在我的tomcat安装中找不到这个文件。 对于此刻的任何帮助,我将不胜感激。 tomcat版本是6.x,操作系统是Ubuntu 11.10。 谢谢