Vc precisou compilar o jk2? No meu Linux eu fiz assim porque não havia binario para baixar no site apache-jakarta. Vou partir do ponto de vista que seu módulo está OK para seu Linux.
Uma boa fonte está no diretório que está dentro do tar.gz do conector jk2. Veja: jakarta-tomcat-connectors-jk2-2.0.4-src/jk/docs/jk2/configweb.html
# socket channel para o tomcat5.
[channel.socket:localhost:58009]
# define the worker para o tomcat5 usando channel socket
[ajp13:localhost:8009]
info=Ajp13 forwarding over socket
channel=channel.socket:localhost:8009
# Uri mapping para o tomcat5
[uri:/seu_contexto/*]
info=Descricao bla, bla, bla
worker=ajp13:localhost:8009
debug=0
Está meio verboso mas como aqui não uso as portas padrão preciso deixar algumas coisas mais claras. Apesar disto aí em cima ser uma pequena parte do meu workes2.properties, acredito que vá funcionar. principalmente depois que vc ler o configweb.html ou der uma busca no google sobre conector jk2
# socket channel para o tomcat5.
[channel.socket:localhost:58009]
# define the worker para o tomcat5 usando channel socket
[ajp13:localhost:8009]
info=Ajp13 forwarding over socket
channel=channel.socket:localhost:8009
# Uri mapping para o tomcat5
[uri:/seu_contexto/*]
info=Descricao bla, bla, bla
worker=ajp13:localhost:8009
debug=0
Ficou Blz…
Agora Pairou uma dúvida no ar, porque na verdade eu queria tambem que as páginas .php fossem executadas o que não está sendo quando digito http://examples/minha.php pede pra fazer o download.
não sei se isso é possivel, mas na minha cabeça a integração de Tomcat + Apache tornaria a execução de JSP e PHP ao mesmo tempo em meu contexto!
Rafael_Steil
Voce nao deve ter o php configurado corretamente no servidor ( nao integrou com o apache, ou faltou o AddHandler … algo no estilo ).
Rafael
Luca
Olá
Correção:
Na minha mensagem sobrou uma porta 58009 que está errada. O default é 8009.
Vc retirou do workers2.properties aquela linha sem referenciar contexto que havia antes mandando TUDO para o tomcat ([uri:localhost/*.jsp])?
Ele deve estar procurando o examples do tomcat no contexto ROOT
Neste endereço, examples é o nome do seu servidor?
[]s
Luca
kartler
Luca No caso examples está em webapps.
Rafael o php está configurado e Funcional em meu apache
Meu workes2.properties
[shm]info=Scoreboard.Requriedforreconfigurationandstatuswithmultiprocessservers.file=anon# Defines a load balancer named lb. Use even if you only have one machine.[lb:lb]# Example socket channel, override port and host.[channel.socket:localhost:8009]port=8009host=127.0.0.1# define the worker[ajp13:localhost:8009]channel=channel.socket:localhost:8009group=lb[uri:/*.jsp]info=MapeandoasJSPs[status:]info=Statusworker,displaysruntimeinformation[uri:/jkstatus/*]info=TheTomcat/jkstatushandlergroup=status:# Uri mapping para o tomcat5 [uri:/examples/*] info=IntegrandoApache+tomcatworker=ajp13:localhost:8009 debug=0
Luca
Olá
Acesse aos PHPs como http://seu_servidor/seu_dir_com_PHPs/seu_arquivo.php
E não chame seu servidor de examples pois está mapeado para ser respondido pelo tomcat.
Este diretorio examples está dentro do webapps do tomcat , existe uma maneira de dentro deste examples uma página .php ser executada ?
Luca
Olá
Não, o tomcat não responde PHP
[]s
Luca
kartler
Então no caso é impossivel dentro do mesmo diretório conviver .php e .jsp e ambas serem executadas ?
:?
Mas deve existir uma maneira não sei qual mas creio que existe!
Luca
Olá
Ainda bem que é impossível e isto sai totalmente do que a gente entende por servidor de aplicações Java. E mais, mesmo se fosse possível, seria um pesadelo a manutenção de uma aplicação web em Java junto com outra em PHP. Já imaginou que quando vc fizesse um novo war haveria muita chance de esquecer de incluir todo o site em PHP?
O que a gente faz é colocar o PHP para ser respondido pelo Apache que sabe fazer isto e servlets (e JSPs) serem respondidos pelo servlet engine, no caso o tomcat.
[]s
Luva
Rafael_Steil
“kartler”:
Então no caso é impossivel dentro do mesmo diretório conviver .php e .jsp e ambas serem executadas ?
:?
Mas deve existir uma maneira não sei qual mas creio que existe!
Voce pode ter .jsp e .php no mesmo diretorio, mas como o luca disse, .jsp eh processado pelo tomcat e .php pelo apache.
Rafael
Luca
Olá
Rafael, seria possível fazer a loucura de mapear um host virtual para o diretório no servidor abaixo do webapps onde estaria o contexto e os PHPs. Ou ao contrário, mapear o contexto para um diretório onde estaria a aplicação PHP.
Precisaria de uma atenção especial no workers2.properties para fazer com que o conector funcionasse somente no caso de requisições jsp (ou similares)
Mas tudo isto me pareceu um desatino tão grande que só como pegadinha de estagiário que sai da empresa e deixa para o Luca tentar advinhar o que passou na sua mente insana enquanto esteve a frente do sistema (minha situação atual…argh). Por isso classifiquei como impossível. Na verdade, como vc bem apontou, é possível. Só espero que não sobre para mim.
[]s
Luca
Rafael_Steil
Entao luca, mas isso entra no caso onde voce esta em um servidor de terceiros, como a Locaweb. La voce soh tem um contexto e um diretorio home disponivel para jogar todos os arquivos necessarios para a tua aplicacao.
Em tais ambientes acaba acontecendo de voce ter os arquivos “misturados”, ja que acaba nao tendo uma distincao / organizacao de diretorios especifica para cada tipo de sistem ( htm - php / java ).
Nao entendi a parte que voce comenta sobre a atencao especial no workers2. O meu entendimento eh: o VirtualHost do Apache vai apontar o DocumentRoot para um diretorio X na maquina, onde voce podera colocar a tua aplicacao. Nesse diretorio X pode haver coisas Java, entrando ai o mod_jk, que somente teria um mapeamento para *.jsp, ficando o resto por conta do Apache, como o usual.
Ou eu perdi algo?
Rafael
Luca
Olá
Rafael, qdo falei em atenção especial foi só para lembrar que o Apache precisa saber diferenciar o que ele mesmo vai responder ou o que será respondido pelo tomcat. É só uma questão de escrever os mapeamentos direitinho que acho que não foi o caso do início desta thread.
Há uma alternativa de mixar a configuração entre o próprio httpd.conf e o workers2.properties. Veja isto (está tudo comentado porque não uso, guardo no meu httpd.conf só para centralizar as informações):[list]# Fonte:
JkSet is a top-level directive is used to set global config options
JkUriSet is used to set options for Location sections
#JkSet takes 2 parameters, the property name ( including component name ) and the value.
(Note: probably we should change it to 3 params, and separate the component name from property )
Each Location that has a JkUriSet will automatically create a jk2 [uri] object, using the Location path and the vhost.
All JkUriSet directives will set attributes in this [uri] object, exactly like properties in a ini file section
You can mix workers2.properties and JkUriSet - for example workers and global options can be set in worker2.properties, but all uri properties in httpd.conf. # Some people might preffer to have only one config file and use httpd.conf for all configuration.
The biggest benefit is that Apache2 mapping is used instead of jk2 to detect the requests that need to be sent to tomcat.
Apache2 has been optimized and tuned to server huge number of servers and uris - if you have only few the diference may be hard to notice.
Some people preffer to use the httpd.conf format and some tools could be better used in this mode.
One major problem is that reconfiguration is not supported if httpd.conf is used.
#You can still enable/disable/add workers if you use workers2.properties, and you could add or change uri properties in that file.