2010-10-13 18 views
3

Nous examinons quelques alternatives à notre pile Tomcat pour une application JRuby on Rails. Jusqu'ici j'ai lu à propos de la gemme de Trinidad, qui est en fait Tomcat, et la gemme Glassfish. Je ne peux cependant pas trouver l'un ou l'autre de ces exemples de production. Les deux semblent vous permettre de simplement lancer la commande sur la ligne de commande, ce qui est bien pour les développeurs locaux, mais comment les gens utilisent ces solutions en production?Quelles sont les alternatives à l'utilisation des applications Tomcat pour Jruby Rack?

Il ne semble pas y avoir beaucoup d'action sur la gemme Glassfish ces jours-ci, mais il est fortement vanté pour être petit et rapide.

Est-ce que quelqu'un a une autre configuration qu'il trouve performante, robuste et facile à déployer pour une application JRuby on Rails?

+0

https: // github.com/clyfe/cywiky/wiki/JRuby-déploiement-écosystème – clyfe

Répondre

4

Trinidad gem/embarqué Tomcat

Si vous creuser plus profondément dans la page gem Trinidad sur Github il y a des liens vers les différentes gemmes d'extension Trinidad. Il y a un petit bijou de daemonizing spécialement fournis dans la production ici:

http://github.com/calavera/trinidad_daemon

Si vous exécutez le script d'installation et répondre à quelques questions simples, il génère un script d'initialisation sur mesure pour votre machine Ubuntu ou OS X. C'est à peu près tout ce dont vous avez besoin.

Il y a aussi l'exemple des scripts d'initialisation dans le wiki ici:

http://github.com/calavera/trinidad_daemon_extension/wiki/init.d-scripts

Notez que pour une utilisation dans le Rails.threadsafe! mode, les durées d'exécution JRuby min et max sont définies sur 1 dans votre fichier de configuration trinidad.yml. Je l'ai sur Ubuntu avec une interface Nginx, et ça marche très bien. Donc, oui, cela signifie que vous utilisez la ligne de commande pour arrêter et démarrer le serveur d'application, mais le script init sera également appelé automatiquement au démarrage du système. Le wiki inclut également des exemples de scripts de déploiement Capistrano, ce qui vous permet même d'arrêter le serveur et de démarrer à partir de votre propre machine.

Remarque: Il existe deux extensions de démon. Celui auquel j'ai été lié est le nouveau, qui utilise une meilleure bibliothèque de démonisation.

joyau GlassFish

Vous avez raison, la pierre précieuse GlassFish ne reçoit pas tant d'amour en ce moment, mais j'ose dire que les choses vont améliorer. Il y a quelques problèmes de fonctionnement avec JRuby 1.5+ parce que la gemme n'a pas suivi les changements dans JRuby, cependant j'ai écrit sur la façon de contourner les problèmes ici: http://www.scottlowe.eu/deploying-rails-3-with-jruby-daemonized-glass

Depuis l'écriture de ce post GlassFish, Trinidad a a gagné le pouvoir d'être démonisé de manière fiable, donc c'est probablement le chemin le plus facile à prendre aujourd'hui.

+0

Pourriez-vous élaborer sur le «Daresay les choses vont s'améliorer»? –

+0

Thorbjørn, je suis allé à une soirée de rencontre des utilisateurs avec les gars de JRuby il y a quelques semaines, et la gemme GlassFish a été discutée. Bien que rien de spécifique n'ait été officiellement promis ou annoncé, l'équipe souhaitait définitivement améliorer la situation dans un proche avenir. Je ne voudrais pas déformer les gars de JRuby, donc je ne devrais probablement pas en dire plus. J'espère que l'un d'entre eux commentera ici. Est-ce suffisant pour répondre à votre question? – Scott

+0

merci pour les liens! On dirait que Trinidad pourrait être le gagnant en ce moment avec son mode démon. – brad

0

Eh bien, jetée a toujours bien fonctionné pour moi dans le monde de Java. Et une recherche rapide Google se présente un petit bijou jetée rails: http://jetty-rails.rubyforge.org/

+0

Je l'ai trouvé aussi mais il semble plutôt intact dans la dernière année – brad