Configurar porta ou criar 2 instancias TomCat?

Pessoal,

tenho 2 aplicações que gostaria de rodar em um mesmo servidor. Como configuro a porta no Tomcat ou crio 2 instancias no mesmo servidor para tal ? O que é melhor, em se tratando de performance ?

Cada uma das aplicações terá um nome, correto? Tioi aplicacaoA e aplicacaoB. O Server e a porta podem ser os mesmos, cada uma delas será colocada em um war diferente, fazendo com que o acesso seja dado por

http://endereco_do_server:porta/nome_da_aplicacao

Melhor deixar separado, assim uma não afeta a outra.
Um estouro de memória por exemplo.

Também se vc precisar dar um stop num tomcat o outro continua.

trocar pelo glassfish ou jbossas não é melhor ???

[quote=fabiofalci]Melhor deixar separado, assim uma não afeta a outra.
Um estouro de memória por exemplo.

Também se vc precisar dar um stop num tomcat o outro continua.[/quote]

Então, por esta lógica, se ele criar 10 projetos, terá que ter 10 servers rodando?

[quote=drsmachado]Cada uma das aplicações terá um nome, correto? Tioi aplicacaoA e aplicacaoB. O Server e a porta podem ser os mesmos, cada uma delas será colocada em um war diferente, fazendo com que o acesso seja dado por

http://endereco_do_server:porta/nome_da_aplicacao

[/quote]

Ok. Mas no meu caso, ocorreu o seguinte: tenho que migrar toda intranet para um servidor remoto e outra equipe ‘aproveitou’ parte do meu código para alocar no mesmo Server remoto em questão.

Minha aplicação está configurada para rodar na porta 80. Quando eu for migrar, terei que colocar toda a app em um diretório pré-definido pela equipe de gestão de segurança, que não permite ‘intervenções’ externas. Acoentece que esse diretório já teve alocado uma app com o mesmo nome que a minha. E a porta tem que ser 8080. Ou seja, não consigo mexer na porta nem no nome da app. E não quero misturar as 2 apps com mesmo nome pq vai ficar a maior bagunça pra manutenção etc.

Alguma solução ?

A questão não é relativa ao tomcat, mas regras de segurança…
Então, se a porta obrigatoriamente tem que ser a 8080 e a aplicação deve ter o mesmo nome da outra, fica bem complicado…

[quote=drsmachado]A questão não é relativa ao tomcat, mas regras de segurança…
Então, se a porta obrigatoriamente tem que ser a 8080 e a aplicação deve ter o mesmo nome da outra, fica bem complicado…[/quote]

Consegui uma ‘autorização’ da segurança e ficamos assim agora: um único diretório para ambas as apps. A app1 tá rodando normal na porta (padrão) 8080. A app2 sempre esteve configurada para rodar na porta 80. Então, o que eu preciso fazer, seria apenas informar:

[code]http://endereco_do_server:8080/App1

http://endereco_do_server:80/App2
[/code]
?

que eu saiba o tomcat não abre duas instancias, vc vai ter que ter dois tomcats e configurar a porta de cada um

p/s pq não usar a mesma porta ??? ex http://endereco:80/app1 http://endereco:80/app2

[quote=jMarcel]Pessoal,

tenho 2 aplicações que gostaria de rodar em um mesmo servidor. Como configuro a porta no Tomcat ou crio 2 instancias no mesmo servidor para tal ? O que é melhor, em se tratando de performance ?[/quote]

Vamos lá, os containers(servidores) java foram criados para rodar ao mesmo tempo diversas aplicações(contextos), então na pratica se vc fez 2 aplicações vc vai ter na sua IDE 2 projetos e cada um vai gerar 1 arquivo .WAR que deve ser colocado no servidor e sera acessado por esse nome de contexto.

Outra coisa, vc pode ter um projeto na IDE com o nome “Proj_A” mas vc pode configurar pra quando fazer o deploy ele ser acessado por outro nome.

Essa forma de trabalhar é o que é usado no dia-a-dia.

Inté

[quote=pbnf][quote=jMarcel]Pessoal,

tenho 2 aplicações que gostaria de rodar em um mesmo servidor. Como configuro a porta no Tomcat ou crio 2 instancias no mesmo servidor para tal ? O que é melhor, em se tratando de performance ?[/quote]

Nossa !!! Que monte de respostas e colocações fora da realidade !!!

Vamos lá, os containers(servidores) java foram criados para rodar ao mesmo tempo diversas aplicações(contextos), então na pratica se vc fez 2 aplicações vc vai ter na sua IDE 2 projetos e cada um vai gerar 1 arquivo .WAR que deve ser colocado no servidor e sera acessado por esse nome de contexto.

Outra coisa, vc pode ter um projeto na IDE com o nome “Proj_A” mas vc pode configurar pra quando fazer o deploy ele ser acessado por outro nome.

Essa forma de trabalhar é o que é usado no dia-a-dia.

Inté[/quote]
Mas não foi o que eu disse, desde o princípio

???

[quote=drsmachado][quote=pbnf][quote=jMarcel]Pessoal,

tenho 2 aplicações que gostaria de rodar em um mesmo servidor. Como configuro a porta no Tomcat ou crio 2 instancias no mesmo servidor para tal ? O que é melhor, em se tratando de performance ?[/quote]

Nossa !!! Que monte de respostas e colocações fora da realidade !!!

Vamos lá, os containers(servidores) java foram criados para rodar ao mesmo tempo diversas aplicações(contextos), então na pratica se vc fez 2 aplicações vc vai ter na sua IDE 2 projetos e cada um vai gerar 1 arquivo .WAR que deve ser colocado no servidor e sera acessado por esse nome de contexto.

Outra coisa, vc pode ter um projeto na IDE com o nome “Proj_A” mas vc pode configurar pra quando fazer o deploy ele ser acessado por outro nome.

Essa forma de trabalhar é o que é usado no dia-a-dia.

Inté[/quote]
Mas não foi o que eu disse, desde o princípio

???[/quote]

Opa, tirando a suas respostas é claro !!! É que muitas vezes o povo parece que fica fazendo suposições e não dando firmeza nas respostas.

Ah, com certeza.
De qualquer forma, todos acabam aprendendo algo mais ou por ter pesquisado ou por ter lido os demais posts (mesmo que seja bobagem)

[quote=drsmachado][quote=pbnf][quote=jMarcel]Pessoal,

tenho 2 aplicações que gostaria de rodar em um mesmo servidor. Como configuro a porta no Tomcat ou crio 2 instancias no mesmo servidor para tal ? O que é melhor, em se tratando de performance ?[/quote]

Nossa !!! Que monte de respostas e colocações fora da realidade !!!

Vamos lá, os containers(servidores) java foram criados para rodar ao mesmo tempo diversas aplicações(contextos), então na pratica se vc fez 2 aplicações vc vai ter na sua IDE 2 projetos e cada um vai gerar 1 arquivo .WAR que deve ser colocado no servidor e sera acessado por esse nome de contexto.

Outra coisa, vc pode ter um projeto na IDE com o nome “Proj_A” mas vc pode configurar pra quando fazer o deploy ele ser acessado por outro nome.

Essa forma de trabalhar é o que é usado no dia-a-dia.

Inté[/quote]
Mas não foi o que eu disse, desde o princípio

???[/quote]

exatamente !!!

Meu nobre tente aplicar a sugestão feita pelo nosso amigo drsmachado

Esta é a pratica aplicada no mercado.

Acredito que a questão não seja essa.
Em desenvolvimento vc compartilha tranquilo um container entre várias app.

Agora, e em produção?

Imagina 2 aplicações no mesmo tomcat. Uma para, estoura memória, alguma coisa.
E o impacto na outra?

Nesse cenário, acha seguro colocar 2 app no mesmo tomcat?

Ainda, o jMarcel perguntou sobre desempenho. Já tive a experiência em ter 3 app no mesmo
tomcat. Separando, na mesma máquina, em 3 tomcats, ‘parece’ que o desempenho melhorou.
Talvez alguma relação de melhor aproveitamento dos core da máquina, não sei, nunca cheguei
a investigar isso a fundo.
Infelizmente não levantamos nenhum número sobre a melhora, pois o objetivo era mais a segurança,
de uma app não afetar outra.

[quote=fabiofalci]Acredito que a questão não seja essa.
Em desenvolvimento vc compartilha tranquilo um container entre várias app.

Agora, e em produção?

Imagina 2 aplicações no mesmo tomcat. Uma para, estoura memória, alguma coisa.
E o impacto na outra?

Nesse cenário, acha seguro colocar 2 app no mesmo tomcat?

Ainda, o jMarcel perguntou sobre desempenho. Já tive a experiência em ter 3 app no mesmo
tomcat. Separando, na mesma máquina, em 3 tomcats, ‘parece’ que o desempenho melhorou.
Talvez alguma relação de melhor aproveitamento dos core da máquina, não sei, nunca cheguei
a investigar isso a fundo.
Infelizmente não levantamos nenhum número sobre a melhora, pois o objetivo era mais a segurança,
de uma app não afetar outra.[/quote]

Isso é falta de uma configuração e ajuste do tomcat pra suportar os diversos contextos instalados.

Ok. Vou tentar seguir o padrão, mas acontece que as apps não estão em nenhuma ide. Cheguei aqui ontem e o cód. da app está todo espalhado. Vai levar um tempo pra coloca-la numa ide, ja que a equipe é bem pequena (4). Por enquanto tera q ser ‘na raça’, visto que deram prazo para essa migração…

No meu PC está funcionando, já consegui habilitar pelo ‘server.xml’ (incluí mais um Connector executor) do tomcat as 2 portas em questão (80 e 8080) . Mas, mesmo tendo feito o mesmo procedimento, o tomcat não está abrindo na porta 80 do Server (windows server2008). Alguém sabe se no winServer2008 tenho que permitir/habilitar a porta 80 explicitamente ?

Alguma idéia ?

[quote=jMarcel]Ok. Vou tentar seguir o padrão, mas acontece que as apps não estão em nenhuma ide. Cheguei aqui ontem e o cód. da app está todo espalhado. Vai levar um tempo pra coloca-la numa ide, ja que a equipe é bem pequena (4). Por enquanto tera q ser ‘na raça’, visto que deram prazo para essa migração…

No meu PC está funcionando, já consegui habilitar pelo ‘server.xml’ (incluí mais um Connector executor) do tomcat as 2 portas em questão (80 e 8080) . Mas, mesmo tendo feito o mesmo procedimento, o tomcat não está abrindo na porta 80 do Server (windows server2008). Alguém sabe se no winServer2008 tenho que permitir/habilitar a porta 80 explicitamente ?

Alguma idéia ?[/quote]

A sua aplic. está como um arquivo .war ou ta como uma serie de pastas e arquivos ? Se vc tiver um pouco de experiencia em alguma IDE é bem facil e rapido colocar como um projeto da IDE pois ai fica facil de manter, testar e modificar e habilitar uma segunda porta(80) no server.xml acho esquisito pois por padrao ele responde pela porta 8080 e o que da pra fazer é alterar essa porta e não colocar 2 portas pro Tomcat atender ! Vou ler os seus posts pra tentar entender o por que vc quer usar a porta 80.

pbnf, sei que dá pra configurar diversos contextos, services, ports, etc, no tomcat.
O fato é que tudo executará no mesmo processo do SO, por isso acho mais seguro,
dependendo do cenário, colocar em tomcats (processos) diferentes.

jMarcel, sobre IDE, não te prenda a nenhuma, faça seu processo de deploy independente disso.
Prefira scripts, ant, maven, etc.

[quote=fabiofalci]pbnf, sei que dá pra configurar diversos contextos, services, ports, etc, no tomcat.
O fato é que tudo executará no mesmo processo do SO, por isso acho mais seguro,
dependendo do cenário, colocar em tomcats (processos) diferentes.

jMarcel, sobre IDE, não te prenda a nenhuma, faça seu processo de deploy independente disso.
Prefira scripts, ant, maven, etc.[/quote]

Novamente, os servidores foram criados pra rodar varios contextos(aplicaçãos) ! Ta com algum receio instala um tomcat na maquina local com a mesma versão do de produção e veja se “vai comer outros processos” das outras aplicações.

IDE foi feita pra ajudar, notepad vc usa apenas nas duas primeiras aulas do curso de java. E como ele falou os arquivos da aplicação estão “soltos” então pra facilitar futuramente nada melhor do que colocar sob os cuidados de uma IDE.