9
votes

Comment puis-je garder un passager autonome même après un redémarrage?

J'ai quelques applications Running Rails 3 sur Ruby 1.9.2 et déployé sur une machine Ubuntu 10.04 LTS à l'aide de Nginx + passager. Maintenant, j'ai besoin d'ajouter une nouvelle application qui s'exécute sur Ruby 1.8.7 (REE) et des rails 2. J'ai accompli de le faire avec RVM, autonome passagers et proxy inverse.

Le problème est que, à chaque fois que je dois redémarrer le serveur (pour installer des mises à jour de sécurité par exemple), je dois démarrer le passager autonome manuellement.

Y a-t-il un moyen de commencer automatiquement? On m'a dit d'utiliser Monit ou Dieu, mais je ne pouvais pas être capable d'écrire une recette appropriée qui fonctionne avec le passager autonome. J'ai également eu quelques problèmes avec Dieu et RVM, donc si vous avez une solution qui n'utilise pas Dieu, ou si vous savez comment configurer Dieu / RVM correctement, c'est encore mieux.


0 commentaires

4 Réponses :


0
votes

Je suggérerais d'écrire un script shell pouvant commencer cela avec succès, puis utilisez-le dans une recette de monit ou de dieu, si vous êtes toujours prêt à les utiliser, ou à un script init, sinon.

Vous ne mentionnez pas quel OS votre serveur s'exécute, mais s'il s'agit d'une récente Ubuntu, vous pouvez écrire un script emblématique assez facilement. Il est intégré et a la caractéristique importante de Monit / DIEU - Garder votre démon en marche, même par des redémarrages.


0 commentaires

-1
votes

Selon votre plate-forme, vous aurez presque certainement une variante d'init disponible. Sur Debian, c'est init.d. Sur Ubuntu, init.d ou UpStart. sur un service de type Rhel. Celles-ci vous permettront de gérer des services au démarrage. Je suggère de lire la page d'homme appropriée pour votre plate-forme.


1 commentaires

J'utilise un script init.d pour démarrer la principale nginx. L'autonomie passagers est cependant sur une autre instance Nginx. Pour démarrer Passenger Standalone, je dois modifier la version Ruby en Ree, l'exécution Démarrage du passager . Comment puis-je écrire un script init.d qui fait ça?



15
votes

Voici ce que j'ai travaillé. Utilisation de UPSTART (Ubuntu 10.04) Pour démarrer le Daemon du passager

Mon environnement utilise RVM avec Ruby 1.9.2 et Apache et mon application Rails est déployée via Capistrano P> xxx pré>

et Apache Config: P>

<VirtualHost *:80>
    ServerName myapp.com

    PassengerEnabled off

                <Proxy *>
                        Order deny,allow
                        Allow from all
                </Proxy>

    ProxyPass / http://127.0.0.1:5000/
    ProxyPassReverse / http://127.0.0.1:5000/

</VirtualHost>


1 commentaires

Joli. C'est ce que je cherchais.



0
votes

J'utilise Gem Eye - https://github.com/kostya/eye xxx


0 commentaires