Melhor maneira de implantar o JRuby?

3

Background: Estou desenvolvendo um aplicativo da Web Ruby e decidi mudar para o JRuby por vários motivos que não vou mencionar aqui. Tenho experiência com servidores como Apache e Lighttpd, mas não tenho experiência com Java nem implemente aplicativos da Web baseados em Java.

Qual seria a melhor configuração para uma aplicação Web JRuby em termos de software de servidor? (E qualquer outra coisa que eu possa precisar.) Quais opções de servidor eu tenho? O que há de diferente entre configurar um servidor baseado em Java e, digamos, o Apache? Em outras palavras, como eu começo?

Obrigado por ajudar um novato. :)

PS: Eu não sei se isso faz diferença, já que o Java é multi-plataforma, mas minha máquina de desenvolvimento roda o Vista, então seria ótimo se eu também pudesse usar a mesma configuração no Windows para desenvolvimento.

    
por Sasha Chedygov 30.05.2009 / 04:53

3 respostas

3

Você já viu esses tutoriais ...

por 30.05.2009 / 14:38
2

Posso sugerir que você experimente a recente versão beta 4.0 do Passenger Phusion for Open Source? Ele se integra ao Apache e permite que você instale aplicativos baseados no JRuby Rack em um dos seus sites habilitados.

link

e

link

Faça o download do tarball do Google Code aqui:

$ curl -O http://phusion-passenger.googlecode.com/files/passenger-3.9.2.beta.tar.gz
$ 
$ JRUBY_OPTS="-Xcext.enabled=true" jruby ./bin/passenger-install-apache2-module
$ jgem install rack # Or jruby -S gem install rack

Em seguida, adicione as seguintes linhas ao seu arquivo de configuração do Apache (apache.conf ou o arquivo de configuração habilitado para sites):

   LoadModule passenger_module /usr/local/lib/passenger-3.9.2.beta/libout/apache2/mod_passenger.so
   PassengerRoot /usr/local/lib/passenger-3.9.2.beta
   PassengerRuby /usr/java/jruby/bin/jruby
   PassengerSpawnMethod direct

Aparentemente, ele também pode se integrar ao nginx, mas não posso confirmar isso, já que não o tentei.

A integração do Apache realmente funciona bem para mim. Por favor, note que isso pode não ser uma configuração empresarial ideal. Primeiro, é uma versão beta. Em segundo lugar, entendo que a versão não empresarial deste mod de passageiros não será multi-threaded. O que isso significa precisamente com relação a um aplicativo JVM não faz sentido para mim, mas eu não pesquisei o suficiente para determinar se é realmente um problema. Observe também que estou fazendo essa recomendação para aqueles que estão interessados em obter algo com configuração rápida e especificamente usando uma instalação existente do Apache.

    
por 21.02.2013 / 17:03
0

Eu tenho procurado fazer isso sozinho, e estou em um barco semelhante ao cartaz original - muita experiência na execução de uma pilha LAMP, mas precisando migrar para o JRuby e ter precisamente uma experiência Java nula.

Eu decidi ficar muito perto de como meus aplicativos atuais do Rails são executados (por trás do Apache e mod_proxy_balancer), colocando um Jetty 6 exemplo por trás do Apache e mod_proxy.

Eu olhei para o GlassFish, e embora fosse muito fácil de configurar e rodar, é demais para as minhas necessidades - a única parte da pilha Java EE que eu realmente preciso é o container do servlet.

Isso ainda não está em produção, mas o que devo fazer é o Apache ser executado pelos scripts de inicialização da minha distro, Jetty iniciado por capistrano e / ou scripts de inicialização e tudo assistido por monit. Isso é semelhante o suficiente para como as coisas funcionam atualmente que eu me sinto confortável com isso, e o único momento real "eww, Java" que tive foi trabalhar com o arquivo de configuração XML do Jetty.

    
por 03.07.2009 / 02:06