7
votes

Comment déployer un rails 3 applications sur Windows?

Je cherche un moyen de déployer de manière fiable une application Rails 3 sur Windows. Je suis tout à fait choqué que cela semble qu'il n'y ait actuellement aucun moyen de le faire. La solution Apache + Quelques services de Mouprel ne fonctionne pas actuellement parce que Mongrel ne peut pas exécuter en mode Daemon, je ne peux donc pas l'installer comme un mongrel_service.

Les exigences que je suppose devoir être:

  • Un serveur Web compatible avec les rails 3.
  • doit pouvoir fonctionner comme service Windows, démonisé.
  • doit être capable de redémarrer automatiquement au cas où quelque chose ne va pas.
  • doit être la qualité de la production: pas de fuites de mémoire, etc.
  • devrait être capable d'échelle et d'accepter plusieurs demandes simultanément.
  • moins de hacks possibles.

    J'ai découvert ces choses:

    • MONGREL n'est pas la production prête pour les rails 3 (1.2.0PRE), je ressens assez vite des fuites de mémoire d'une fenêtre de console. L'application juste des sorties.
    • MONGREL ne fonctionne pas en mode Daemon ( -d ) avec des rails 3.
    • Par conséquent, MONGREL ne peut pas être installé en tant que service.
    • Passager de la phusion n'est pas disponible sous Windows (serait la meilleure solution).

      Ce sont les solutions possibles que j'ai proposées:

      • Obtenez une boîte Linux, installez Apache + Passager et rouleau de la phusion.
      • Utilisation de mince , cependant, l'auteur dit que le processus mince n'est pas "gardé" .
      • Utilisation de Ngnix , cependant, L'auteur dit qu'il vient de courir une application par défaut, et non une application complète.
      • Utilisation de Ngnix . Je pense que cette solution subit le même problème que ci-dessus.
      • en utilisant une virtualisation de Linux, mais je dois résoudre des problèmes tels que le démarrage automatique, etc.
      • courir sur Jruby à Tomcat.

        Ceci pourrait être un outil pratique: http://projectkenai.com/projects/winsw < / p>

        J'espère que nous pourrons trouver une vraie solution à ce problème.


        mise à jour:

        Je suis d'accord que Jruby + un conteneur J2EE est le meilleur pari. Certains problèmes doivent être résolus comme des pierres précieuses avec des extensions, etc. Il y a beaucoup d'idées précieuses ici: http://rails-nutshell.labs.oreilly.com/ch14.html#production_r259035_id35801805


1 commentaires

Consultez Torquebox.org comme alternative aussi.


3 Réponses :


2
votes

Personnellement, je pense que l'avenue Jruby + Tomcat sera votre meilleure mise, juste parce que Tomcat est vérifié sur des fenêtres et que Jruby est assez stable. Ma première pensée était aussi bien passagers, et il est triste que ce ne soit toujours pas porté.


0 commentaires

6
votes

Ceci est la configuration que j'ai actuellement en cours d'exécution:

  • Windows Server 2008 LI>
  • Apache 2.2 Li>
  • Server mince LI>
  • Ruby 1.9.2 Li>
  • Rails 3.0.9 LI> ul>

    L'installation de ces aspects est couverte par ce grand tutoriel " Comment installer et configurer Ruby sur rails avec Windows Server 2008 ee ". J'ai ignoré le bit LDAP et ActiveDirectory, mais il y a une bonne solution de contournement discutée pour l'installation de Server mince depuis gem 'mince' code> se brisera normalement sur Windows. P>

    pour la production que j'ai configuré MySQL Server 5.5 pour héberger ma base de données. L'adaptateur MySQL2 est requis pour les rails 3 mais n'est pas encore pris en charge dans mon environnement Windows. L'adaptateur MySQL lancera également une erreur sur les rails 3, mais comme solution de contournement, vous pouvez le faire fonctionner en installant une version plus ancienne de libmysql.dll . Il vous suffit de le laisser tomber dans votre répertoire Ruby192 / bin. P>

    Une fois l'adaptateur et le serveur correctement correctement installé, vous devez créer la base de données: P>

    thin start -p 3000 -e production
    


3 commentaires

Merci Chris. Je souhaite également noter ici que le programme d'installation des rails installe maintenant Ruby 1.9.2 et Rails 3.1 dans un package. Veuillez vérifier ici: railsinstaller.org


C'est la meilleure réponse! tout-Ruby.blogspot.com/ 2011/04 / ...


Les personnes de Chine continentale doivent accéder à l'URL au-dessus de VIV VIV.



0
votes

Engineyard est assez facile pour déployer une application Rails à partir d'un environnement Windows, installez simplement votre gemme et changez une ou deux choses dans votre gemfile.lock un bon lien est https://support.cloud.engineyard.com/tries/20996706-deploy-from-windows

Ils vous donnent 500 heures libres aussi lorsque vous commencez à démarrer


0 commentaires