Articles of tomcat

代理,Apache,Tomcat – VHosts

我有一个设置如下: 互联网 – 路由器 – [DMZ] – pfsense – networking服务器 router = jenky塑料廉价o路由器(我好mikrotik /路由板死亡)。 将pfsense的ip地址设置为DMZ。 pfsense =做基本防火墙加代理/反向代理。 代理服务器用于将URL转发到防火墙后面正确的networking服务器。 webserver =运行httpd(apache)和tomcat6(分别安装,从yum,但在不同的时间,所以它不是Apache + Tomcat的东西)的Centos框。 几个网站从这个特定的networking服务器运行,由Apache的虚拟主机处理。 ex: http://www.somesite.com, http://www.mysite.com, etc Tomcat在扩展名为/ mywebapp的端口8080上运行应用程序。 ex: http://www.somesite.com:8080/mywebapp 我已经在pfsense正确configuration了所有的东西,把Apache服务的网站的所有子域转发给正确的主机。 我configuration了/etc/httpd/conf/httpd.conf来包含虚拟主机configuration <VirtualHost *:80> ServerName mywebapp.somesite.com ProxyPass / http://www.somesite.com:8080/mywebapp ProxyPassReverse / http://www.somesite.com:8080/mywebapp ProxyRequests Off <Proxy http://www.somesite.com:8080/mywebapp*> Order deny,allow Allow from all </Proxy> ErrorLog logs/mywebapp.somesite.com-error_log […]

傀儡包在一个去,但没有存储库

我试图让木偶去几个虚拟机,我的意图是安装jdk6和tomcat 6使用木偶,但我不能使用百胜,因为机器没有连接到互联网,如果这是一个简单的一台机器解决scheme,那么我可以只是使用手动安装,但我需要自动化,需要使用相同的configurationbuild立和销毁虚拟机。 我结束了使用某人的脚本jdk,这是一个非常脏的模块,它包含从甲骨文文件的所有RPM。 我把它们放在模块上的files文件夹中,然后从puppet master复制它们。 然后单独运行包。 问题在于木偶没有特定的顺序运行。 所以我不得不等待,直到6-7次,当这是试图获得软件包安装,但最后执行命令不会得到执行。 我需要找出一个更好的方法来做到这一点。 一个本地或networking百胜库不是一个选项,所以我需要以相同的方式使用RPM,但我不知道包的链接,我尝试使用链接,然后没有得到安装。 任何指导将是伟大的,因为我需要写这个tomcat和servicemix 我包是低于(非常粗糙的代码) # Class: jdk6 # # This module manages jdk6 # # Parameters: none # # Actions: # # Requires: see Modulefile # # Sample Usage: # class jdk6 { file {'/tmp/': ensure => 'directory', source => 'puppet:///modules/jdk6/', recurse => 'remote', owner => 'root', […]

在生产服务器上有两个不同的servlet容器上的两个webapps是不是同一个webapps?

我需要在一个Ubuntu的VPS上运行两个webapps,但是一个(我自己的webapp)更喜欢在Tomcat和其他(Solr webservice)运行在Jetty中更好。 但是我认为为每个webapp运行一个单独的服务器会消耗更多的资源(比如内存消耗会更高),而不是运行在同一台服务器上的webapps,不是吗? 如果我在一台机器上同时运行Tomcat和Jetty以供生产使用,可能会有什么不好?

从Apache和Tomcat提供文件

我试图重build一个需要在RedHat 4.1.2服务器上从Tomcat 6.0.16和Apache HTTPD 2.2.3提供内容的服务器。 我需要一个来自Apache DocumentRoot的特定目录(称为“客户端”),由Apache处理,其余部分由Tomcat处理。 所以我已经在某个server.com:8080上运行了Java应用程序,并且客户机目录位于DocumentRoot目录中,Apache运行在80端口上.Java应用程序被configuration为在/上运行。 这是我的httpd.conf中的内容 DocumentRoot "/usr/local/share/www/" ProxyPass / http://someserver.com:8080/ ProxyPassReverse / http://someserver.com:8080/ 代理的这部分工作,但我仍然在任何东西在http://someserver.com/client 404。 我应该如何去正确地设置这个设置?

如何维护服务器上的configuration文件?

我经常在我的服务器上安装一个产品(Atlassian Confluence,这是Tomcat +几个文件)。 对于每次升级,解压缩tar.gz后,我需要更改以下文件: conf / server.xml – >添加JNDI声明并更改端口 confluence / WEB-INF / classes / confluence-init.properties – >更改一个属性 confluence / WEB-INF / web.xml – >需要HTTPS confluence / WEB-INF / classes / log4j.properties – >更改日志级别 将activation.jar和mail.jar从confluence / WEB-INF / libs移动到lib / 添加postgres.jar到lib / 有没有规范的方式来执行此configuration? 任何方式执行“覆盖”到目录? 我试过git,但git不擅长移动文件。 我试过编写脚本,但不能包含在1个文件中,因为我需要修补程序文件。 如果我们这样做,是否有办法写一个包含补丁的bash脚本,所以它是独立的? 是否所有的系统pipe理员每次只是写一个特别的脚本,使用“补丁”和“移动”来编辑文件? 没有更好的工具吗? 谢谢

Apache:基于URL后缀的代理

我的团队编写了一个内部BI服务器,该服务器通过链接(如/users/daily或/updates/questions生成HTML报告。 服务器是用Grails编写的,它可以和Apache-Tomcat的经典设置完美的结合起来: ProxyPass / http://localhost:8080/ nocanon ProxyPassReverse / http://localhost:8080/ 所以 https://example.com/users/daily 被内部代理 http://localhost:8080/users/daily 并从Tomcat servlet服务。 服务器是成功的,我想部署它三次到3个不同的系统,通过URL后缀( /dev , /stg , /prod )来区分: 这意味着https://example.com/dev/users/daily将从http://localhost:8080/users/daily代理,并且https://example.com/prod/users/daily将从http://localhost:8082/users/daily 。 我已经尝试了一些Apache RewriteRule和ProxyPass规则,但是找不到工作组合。 如何在Apache中使用基于后缀的内部路由来实现内部链接?

tomcat无法启动jpda启动模式

这是我的catalina.sh #!/bin/sh JAVA_HOME="/usr/local/java" CATALINA_PID="/usr/local/tomcat/tomcat.pid" CATALINA_HOME="/usr/local/tomcat" JAVA_OPTS="-Xloggc:/usr/local/tomcat/logs/gc.log -Xms3072m -Xmx3072m -XX:+PrintGCDetails -XX:+PrintHeapAtGC -XX:+UseConcMarkSweepGC -XX:+CMSIncrementalMode -XX:+CMSIncrementalPacing -XX:CMSIncrementalDutyCycleMin=0 -XX:CMSIncrementalDutyCycle=10 -XX:CMSIncrementalSafetyFactor=75 -XX:NewSize=512m -XX:MaxNewSize=1536m -XX:PermSize=48m -XX:MaxPermSize=174m" JAVA_OPTS="$JAVA_OPTS -Djavax.servlet.request.encoding=ISO-8859-1" JAVA_OPTS="$JAVA_OPTS -Dfile.encoding=ISO-8859-1" #JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=8097 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false" JAVA_OPTS="$JAVA_OPTS -Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n" JAVA_OPTS="$JAVA_OPTS -Dsun.net.inetaddr.ttl=30" # OS specific support. $var _must_ be set to either true or false. cygwin=false darwin=false os400=false case "`uname`" in CYGWIN*) cygwin=true;; […]

Apache反向代理服务器设置为Spring Security的网站

我有一个使用Spring Security进行login的Spring MVC应用程序。 我使用Apache Webserver作为代理和Tomcat。 以下是我的/etc/apache2/sites-enabled/example.com.conf文件: ServerAdmin [email protected] ServerName example.com ServerAlias www.example.com DocumentRoot /var/www/example.com/public_html ProxyPreserveHost On ProxyRequests off ProxyPass /myapp/j_spring_security_check http://XX.YY.ZZ.WW:8080/myapp/j_spring_security_check ProxyPassReverse /myapp/j_spring_security_check http://XX.YY.ZZ.WW:8080/myapp/j_spring_security_check ProxyPass /myapp http://XX.YY.ZZ.WW:8080/myapp ProxyPassReverse /myapp http://XX.YY.ZZ.WW:8080/myapp 我的问题是现在我必须访问我的网站: www.example.com/myapp 在那里我想要访问它 www.example.com 我试着玩,但login没有正常工作。 我应该如何为此设置ProxyPass和ProxyPassReverse?

我如何在一台服务器上安装多个Atlassian应用程序?

好的,这是一个由两部分组成的问题。 为了安装几个Atlassian工具,我从一个托pipe公司获得了CentOS的非托pipeVPS,但是,我遇到了在启动第二个应用程序时,第一个应用程序开始崩溃的问题。 到目前为止,我已经安装了Confluence(在端口8090上运行),JIRA(在8080上运行)和Crowd(我不记得的其他一些端口),但是我一次只能运行一个。 我试图设置一个反向代理,但这似乎并没有工作。 在做一些研究时,我发现显然这是不可能的: https:// confluence.atlassian.com/display/JIRA/Deploying+Multiple+Atlassian+Applications+in+a+Single+Tomcat+Container https:// confluence。 atlassian.com/display/DOC/Installing+Confluence+and+JIRA+Together 我觉得这很奇怪,因为我认为每个Atlassian应用都带有它自己的Tomcat …所以我想知道如果我只是需要find一种方法来“使用不同的Tomcat容器”,但我是愚蠢的,我什至不知道这意味着什么(是的,我使用谷歌,他们什么都不做)。 所以,第一部分:我错过了什么?或者没有办法以可接受的方式做到这一点 我想我find了一个解决scheme,虽然,Linux容器: http://blogs.atlassian.com/2013/06/deploy-java-apps-with-docker-awesome/ http://blogs.atlassian.com/2015/01/stash-docker/ http:// blogs。 atlassian.com/2013/11/docker-all-the-things-at-atlassian-automation-and-wiring/ 因为它们似乎隔离了正在运行的环境,甚至可以在容器和操作系统之间设置networking路由。 所以,第二部分:linux容器/ docker是我接受的解决scheme吗? 我真的不想租用几台服务器…

如何使用PowerShell获取Tomcat的日志path?

我有许多运行各种版本Tomcat 8的Windows服务器,而且我需要能够在PowerShell脚本中获取Tomcat日志path,以便使用此脚本执行pipe理function。 据称Tomcat提供了一个包含这些信息的日志API ,但是我还没有成功地用PowerShell访问它(并且怀疑这远远不是获得我想要的最简单的方法)。 但是,我注意到,至less对于我的Tomcat服务器,日志path是应用程序安装path的子文件夹,例如: C:\Program Files\Apache Software Foundation\Tomcat 8.0\logs 那么,如何以编程方式从PowerShell脚本获取此日志path?