Apache e Toncat, estão integrados más

11 respostas
Henrique.tenorio

É o seguinte estou com o apache2 e tomcat7 instalados na minha maquina, estão funcionando blz, configurei o conector mod_jk para integra los configurei os arquivos … .

A duvida é a seguinte eu tenho uma pasta no diretório do tomcat7 chamada meusite(webapps->meusite) na raiz do contexto tem um arquivo teste.jsp
quando eu digito no navegador (localhost:8080/meusite/teste.jsp) funciona certinho, mas quando digito (localhost/meusite/teste.jsp) o que é mostrado é o código do arquivo.
eu fiz o redirecionamento de portas do Apache para o Tomcat tudo certinho.

Confesso que sou leigo nisso ai, é um trabalho da facul que o prof pediu.

11 Respostas

Victor_Neves

Henrique, essa pasta dentro do webapps é uma pasta que voce criou ou é a pasta que o tomcat cria a partir do arquivo WAR?

Henrique.tenorio

É a padrão mesmo.

Victor_Neves

eu acho que é algo na configuração do seu apache, eu tenho a configuraçao do apache+tomcat aqui, ve se bate com o seu:
OBS: isso aqui esta no arquivo apache2.conf

# Incluir proxy confs
Include /etc/apache2/mods-available/proxy.load
Include /etc/apache2/mods-available/proxy_ajp.load
Include /etc/apache2/mods-available/proxy_balancer.load
Include /etc/apache2/mods-available/proxy_connect.load
Include /etc/apache2/mods-available/proxy_http.load

<Location /balancer-manager>
    SetHandler balancer-manager
</Location>

<IfModule proxy_balancer_module>
    ProxyRequests off

	<Proxy balancer://localhost >
	      BalancerMember ajp://localhost:8009           route="web"  # o valor de "route" tem que ser o MESMO valor que esta em "jvmRoute" do service.xml do tomcat
	</Proxy>

	<Location /<nome-da-aplicacao> >
	    ProxyPass  balancer://localhost/<nome-da-aplicacao>		stickysession=JSESSIONID
	    ProxyPassReverse  balancer://localhost/<nome-da-aplicacao>
		Order Deny,Allow
	      	Allow from all
	</Location>

</IfModule>

coloque isso no final do arquivo apache2.conf

OBS2: o parametro jmvRoute (se me lembro bem) deve estar dentro da tag do tomcat.

ai voce digita http://localhost/ que deveria funcionar... ja que a pasta a que voce se refere é a pasta padrao que o tomcat gera a partir da pasta WAR...
atente para que o exemplo que eu postei é utilizando tomcat6 , nao sei se no tomcat7 isso funciona corretamente... =/

depois voce posta ai o resultado =]

Henrique.tenorio

lá no server.xml

configurei do seu jeito  no apache2.conf assim:# Incluir proxy confs
Include /etc/apache2/mods-available/proxy.load
Include /etc/apache2/mods-available/proxy_ajp.load
Include /etc/apache2/mods-available/proxy_balancer.load
Include /etc/apache2/mods-available/proxy_connect.load
Include /etc/apache2/mods-available/proxy_http.load

<Location /balancer-manager>
    SetHandler balancer-manager
</Location>

<IfModule proxy_balancer_module>
    ProxyRequests off
  
    <Proxy balancer://localhost >
          BalancerMember ajp://localhost:8009    route="ajp13_worker"  # nao era para ser jmvroute=""
    </Proxy>
  
    <Location /jhtp6 >
        ProxyPass  balancer://localhost/jhtp6>       stickysession=JSESSIONID
        ProxyPassReverse  balancer://localhost/jhtp6>
        Order Deny,Allow
            Allow from all
    </Location>

</IfModule>

mas ocorreu o seguinte erro na hora do restart do apache
Syntax error on line 229 of /etc/apache2/apache2.conf:
BalancerMember can not have a balancer name when defined in a location
Action ‘configtest’ failed.
The Apache error log may have more information.
…fail!

O melhor tutorial que achei foi esse http://defendendoolinux.blogspot.com/2011/04/tutorial-linuxinstalando-o-tomcat.html, da uma olhada ai por favor.

Victor_Neves

po henrique, agora eu to meio confuso, acho que voce está usando dois protocolos distintos…

existe o protocolo AJP e o protocolo JK, o exemplo que te dei foi usando o protocolo AJP, – ate onde eu sei – nao se mistura esses dois protocolos de comunição…

tem um outro pacote que também tem que ser instalado, que é o apache2-mpm-prefwork…

eu esqueci de te perguntar, voce esta usando linux? é que aqui eu uso linux, dai o exemplo que te dei foi usando diretorio do linux (pra carregar os modulos) rsrs

me diz uma coisa, qual linha há na linha 229 no seu arquivo do apache2.conf?

Henrique.tenorio

Der Meister:
po henrique, agora eu to meio confuso, acho que voce está usando dois protocolos distintos…

existe o protocolo AJP e o protocolo JK, o exemplo que te dei foi usando o protocolo AJP, – ate onde eu sei – nao se mistura esses dois protocolos de comunição…

tem um outro pacote que também tem que ser instalado, que é o apache2-mpm-prefwork…

eu esqueci de te perguntar, voce esta usando linux? é que aqui eu uso linux, dai o exemplo que te dei foi usando diretorio do linux (pra carregar os modulos) rsrs

me diz uma coisa, qual linha há na linha 229 no seu arquivo do apache2.conf?

Aff
to viajando então, cara eu estou usando o Linux e a linha 229 é essa

BalancerMember ajp://localhost:8009

Henrique.tenorio

Der Meister:
po henrique, agora eu to meio confuso, acho que voce está usando dois protocolos distintos…

existe o protocolo AJP e o protocolo JK, o exemplo que te dei foi usando o protocolo AJP, – ate onde eu sei – nao se mistura esses dois protocolos de comunição…

tem um outro pacote que também tem que ser instalado, que é o apache2-mpm-prefwork…

eu esqueci de te perguntar, voce esta usando linux? é que aqui eu uso linux, dai o exemplo que te dei foi usando diretorio do linux (pra carregar os modulos) rsrs

me diz uma coisa, qual linha há na linha 229 no seu arquivo do apache2.conf?

Qual a diferença disso, puxa vida como pode ser tão dificil configurar esse negocio, tem hora que axo que não vai funcionar. rsrsrs.

Victor_Neves

pois é, pode ser o protocolo de comunicaçao entre o apache e o tomcat…

o que eu uso aqui e funciona 100%, ate agora, é o AJP --> http://tomcat.apache.org/connectors-doc/ajp/ajpv13a.html

olha, eu nao entendo o por que da diferença por que nao trabalho com redes, apesar de ter muita noçao pra um programador, maasss eu passei pela mesma dificuldade que voce colega… =/
foi uma luta pra conseguir achar os ingredientes certos que desse certo por que na net existem milhoes de tutoriais, existem tantos tutoriais que voce acaba tropeçando neles e fazendo algo errado no apache2.conf…

mas vou dar uma dica… vale a pena perder uma tarde ou uma noite pra estudar sobre integraçao apache+tomcat e estudar o que significa cada parametro do balanceamento (os parametos que te passei como exemplo pra colocar no apache2.conf), depois que voce conseguir entender a configuraçao vai fica super facil incluir ou excluir qualquer sistema que voce queira utilizar pela porta 80 através do apache2 =]

OBS: funciona tambem com JBoss… voce vai na pasta da instancia que voce esta usando e dentro da pasta JBOSS_HOME//server/<instancia_Sendo_usada>/deploy/jboss-web.deployer existe um server.xml que voce altera ele EXATAMENTE como voce alterou no tomcat ;] (testado na versao jboss4.3)

Henrique.tenorio

Der Meister:
pois é, pode ser o protocolo de comunicaçao entre o apache e o tomcat…

o que eu uso aqui e funciona 100%, ate agora, é o AJP --> http://tomcat.apache.org/connectors-doc/ajp/ajpv13a.html

olha, eu nao entendo o por que da diferença por que nao trabalho com redes, apesar de ter muita noçao pra um programador, maasss eu passei pela mesma dificuldade que voce colega… =/
foi uma luta pra conseguir achar os ingredientes certos que desse certo por que na net existem milhoes de tutoriais, existem tantos tutoriais que voce acaba tropeçando neles e fazendo algo errado no apache2.conf…

mas vou dar uma dica… vale a pena perder uma tarde ou uma noite pra estudar sobre integraçao apache+tomcat e estudar o que significa cada parametro do balanceamento (os parametos que te passei como exemplo pra colocar no apache2.conf), depois que voce conseguir entender a configuraçao vai fica super facil incluir ou excluir qualquer sistema que voce queira utilizar pela porta 80 através do apache2 =]

OBS: funciona tambem com JBoss… voce vai na pasta da instancia que voce esta usando e dentro da pasta JBOSS_HOME//server/<instancia_Sendo_usada>/deploy/jboss-web.deployer existe um server.xml que voce altera ele EXATAMENTE como voce alterou no tomcat ;] (testado na versao jboss4.3)

Amigo, acho que não vou poder me aprofundar muito porque é pra essa semana e também tenho provas e tcc eu estou ferrado. Será que vc não tem alguma tutorial que faz esse negocio funcionar dessa forma que você faz.

Victor_Neves

eu fiz assim…

instale os pacotes do apache2, instale tambem apache2-mpm-prefworks, o apache2-common e o apache2-utils

vá no apache2.conf e coloque no final do arquivo aquele codigo que te passei mais acima, mas faças as modificações necessárias para a sua aplicação.

vá no server.xml do tomcat e configure o parametro “jvmRoute” com o mesmo valor que voce colocou no parametro “route” em apache2.conf …

suba os servidores, deve funcionar…

mesmo que de algo errado, o professor provavelmente nao irá notar…

Henrique.tenorio

Der Meister:
eu fiz assim…

instale os pacotes do apache2, instale tambem apache2-mpm-prefworks, o apache2-common e o apache2-utils

vá no apache2.conf e coloque no final do arquivo aquele codigo que te passei mais acima, mas faças as modificações necessárias para a sua aplicação.

vá no server.xml do tomcat e configure o parametro “jvmRoute” com o mesmo valor que voce colocou no parametro “route” em apache2.conf …

suba os servidores, deve funcionar…

mesmo que de algo errado, o professor provavelmente nao irá notar…

Vou começar de novo então, acho que até meio dia amanha eu temino, depois posto os bugs. t+ vlw

Criado 8 de maio de 2011
Ultima resposta 8 de mai. de 2011
Respostas 11
Participantes 2