2009-12-11 4 views
1

Je cours une instance d'une application de rails qui est développée par une autre équipe. À l'époque où j'ai commencé, le moyen le plus courant de déployer les applications Rails était d'utiliser Mongrel derrière Apache, et c'est la configuration que cette équipe utilisait pour ses propres instances. Comme je suis un mec Windows et qu'Apache et Mongrel peuvent facilement être configurés en tant que services Windows, j'ai utilisé une boîte Windows (virtuelle) et j'ai tout configuré.Dois-je abandonner le déploiement de Rails sous Windows?

Je suppose que depuis que les choses ont changé dans Rails land. Mongrel a stagné (du moins c'est mon impression de la perception commune). L'équipe de développement de mon application est passée à l'utilisation de mod_rails il y a un certain temps. Je ne me suis pas préoccupé de tout cela, depuis que mon installation de Mongrel a continué à fonctionner, jusqu'à la dernière fois que j'ai synchronisé avec leur code. Apparemment, il y a un conflit de noms où ils ont créé un modèle 'Service', qui se heurte à un nom de module dans mongrel_service (voir http://aspn.activestate.com/ASPN/Mail/Message/ruby-rails/3497181). Quand je leur ai demandé de renommer le modèle, ils ont dit qu'ils n'étaient pas intéressés à soutenir Mongrel.

Mongrel est-il toujours une option valide pour les applications Rails? Si non, existe-t-il une alternative valable pour le déploiement sous Windows? Ni mod_rails ni Thin ne s'exécutent sous Windows ... Ou devrais-je juste mordre la balle, renoncer au déploiement de Windows, et reconstruire ma machine virtuelle sous Linux?

Pour clarifier: La machine virtuelle sur laquelle cela s'exécute n'est pas sur mon bureau de développement. C'est une VM que notre département informatique héberge, utilisée en production. J'ai l'admin dessus. Je peux demander à l'équipe informatique de configurer une machine virtuelle Linux à la place si nécessaire.

+1

Déployez-vous une instance de l'application rails à des fins de développement ou est-elle en cours de production sur le serveur Windows? Si le premier, pourquoi ne pas simplement utiliser script/serveur (WEBrick) et être fait avec lui. –

+0

Ceci est destiné à la production. Je développe aussi sur Windows, mais je n'ai pas de problèmes avec ça jusqu'à présent, en utilisant WEBRick. – ykaganovich

Répondre

1

Cela ne répond pas directement à votre question, mais personnellement je mordrais la balle et passer à Linux, installer Apache et Passenger et aller avec ça. L'installation de Ubuntu Server et l'installation de ce qui précède est une expérience assez indolore et vous devriez être opérationnel dans une heure ou deux au plus.

Dans le passé, c'est l'approche que j'ai utilisée et vraiment le seul obstacle à cela serait la courbe d'apprentissage si vous n'avez pas beaucoup/aucune expérience avec Linux et/ou Apache. Il pourrait être intéressant de vérifier la série "Linux for Softies" sur TekPub qui couvre la mise en place de cette pile même.

0

Mongrel est toujours une option valide, mais passager (mod_rails) est beaucoup plus populaire.

Vous pouvez essayer d'utiliser Webrick qui est livré en standard avec des rails.

script/server webrick 

Pour forcer l'utilisation de Webrick

Mais si je vous j'installerait une boîte virtuelle sur mon ordinateur, avec un dossier partagé (donné que vous voulez rester sur les fenêtres) et utiliser le virtuel boîte pour exécuter mon application en utilisant mod_rails

+3

Veuillez * ne pas * utiliser Webrick. C'est un serveur de dev uniquement, et ne devrait pas être utilisé en production. C'est lent et probablement incertain. – zenazn

+1

oui je suppose que vous voulez l'utiliser comme un serveur de développement –

1

En train de germer. Quand j'ai dû déployer sur Windows, j'ai utilisé VirtualBox avec Ubuntu. Fonctionne bien pour la plupart des sites Web typiques. Vous allez probablement rencontrer des problèmes de mise à l'échelle très bientôt si c'est un site plus grand.

1

Glassfish avec jruby fonctionne très bien sur les fenêtres et il peut gérer plusieurs demandes.

+0

Si vous allez déployer sur Windows, je pense que c'est vraiment la réponse. Le problème que vous rencontrerez est celui des gemmes qui n'ont pas de version jruby. – jonnii

0

N'abandonnez pas. Mongrel est toujours très bien sur Windows et Windows reste un bon environnement de développement pour Rails. En regardant à travers le problème lié que vous avez mentionné, le gars a résolu son problème en désinstallant le gem mongrel_service. Si vous n'avez pas besoin d'exécuter mongrel en tant que service, et je suppose que vous ne le feriez pas sur votre boîte de développement, ça devrait aller. Je ne sais pas quelle version de mongrel_service vous utilisez, mais cela vaut la peine de voir si vous pouvez mettre à niveau.

+0

Oui, j'en ai besoin pour fonctionner en tant que service. J'utilise la dernière version de mongrel_service, au moins dans la mesure où "gem update" peut dire – ykaganovich

2

Abandonnez sur Windows.

Il y a deux ans, quand je me considérais aussi comme un «mec Windows», j'ai commencé à jouer avec Ubuntu sur un ordinateur portable de rechange. Après environ deux jours, j'ai réalisé combien de maux de tête inutiles je vivais avec Windows, et j'ai décidé de changer.

Il a fallu du temps pour tout mettre en place confortablement, mais j'estime que ce commutateur m'a économisé 6 mois de productivité en seulement ces deux dernières années.L'impact positif sur ma qualité de vie est significatif: l'installation de langages et de bibliothèques de développement web prend une partie du temps sur Windows, et je peux utiliser pratiquement n'importe quoi, ce qui signifie que je suis en train d'apprendre plus et de m'amuser davantage.

Je sais que c'est un grand changement, mais si vous avez un ordinateur de rechange, je recommanderais hautement de donner un coup de feu. Il ya toujours un moyen de faire fonctionner Windows, mais vous devriez vraiment vous demander si cela en vaut la peine.

0

Si vous devez faire quelque chose sur Windows, alors je voudrais aller avec JRuby et un serveur d'applications Java (comme Glassfish ou Tomcat). Je n'essaierai pas d'aller avec un Ruby natif sur Windows - dans mon expérience c'est juste un gros mal de tête. Matz a également admis que sur Windows Ruby s'exécute beaucoup plus lentement (je crois qu'il a dit presque 20 fois plus lent) que sous Unix/Linux. Maintenant, ce n'est probablement pas le cas pour JRuby, ce qui est la raison pour laquelle je le recommande pour Windows.

Juste mes 2 cents.

0

Je sais que ça fait un bout de temps, mais thin se compile maintenant sur Windows, si vous utilisez l'argument --pre.

Questions connexes