2011-11-12 4 views
2

J'utilise le système Linux de Debian. J'utilise un serveur web mince pour obtenir le statut en direct de l'appel dans mon application. Ce processus démarre lorsque j'utilise /etc/init.d/thin start. J'ai utilisé les valeurs par défaut thin-rc.d -f pour faire démarrer le processus thin au démarrage du système. Après l'ajout de l'entrée, j'ai redémarré le système, mais le processus mince ne démarre pas. J'ai vérifié apache2 et il a démarré correctement au démarrage du système. Mon script thin dans init.d est le suivant,Comment démarrer un processus fin au démarrage du système

DAEMON=/usr/local/lib/ruby/gems/1.9.1/bin/thin 
SCRIPT_NAME=/etc/init.d/thin 
CONFIG_PATH=/etc/thin   

# Exit if the package is not installed 
[ -x "$DAEMON" ] || exit 0  

case "$1" in 
start)       
    $DAEMON start --all $CONFIG_PATH 
    ;;      
stop)       
    $DAEMON stop --all $CONFIG_PATH 
    ;;      
restart)      
    $DAEMON restart --all $CONFIG_PATH 
    ;; 
*) 
    echo "Usage: $SCRIPT_NAME {start|stop|restart}" >&2 
    exit 3 
    ;; 
esac 

Mon fichier de configuration dans/etc/thin est le suivant.

user_status.yml

--- 
chdir: /FMS/src/FMS-Frontend 
environment: production 
address: localhost    
port: 5000      
timeout: 30 
log: log/thin.log    
pid: tmp/pids/thin.pid   
max_conns: 1024 
max_persistent_conns: 512 
require: [] 

wait: 30       
servers: 1 
rackup: user_status.ru 
threaded: true     
daemonize: false 
+2

N'est-ce pas une question pour http://askubuntu.com ou http://unix.stackexchange.com? – nathanvda

+0

avez-vous chmod votre script à 755? – valk

Répondre

0

Vous avez besoin d'une enveloppe pour 'mince'. Voir https://rvm.io/integration/init-d. Le chemin de l'encapsuleur doit alors se substituer à DAEMON dans le script init.d. Je n'oublie pas cela et cela m'a coûté quelques heures! Maintenant, j'ai vérifié dehors, en tant que root, entrez les deux commandes

rvm wrapper current bootup thin 
    which bootup_thin 

Le premier crée l'emballage, et le second donne le chemin d'accès. Modifier la ligne daemon dans /etc/init.d/thin d'utiliser ce chemin, et terminer avec

systemctl daemon-reload 
    service thin restart 

Je suppose une installation multi-utilisateurs de RVM, vous devez également entrer racine avec

su - 

pour obtenir l'environnement rvm correct.

Questions connexes