简体   繁体   中英

How to start thin process at system boot

I am using Debian flavor linux system. I am using thin web server to get live status of call in my application. This process gets started, when I use /etc/init.d/thin start. I used update-rc.d -f thin defaults to make thin process to be started at system boot. After adding the entry, I rebooted the system but thin process not getting started. I checked apache2 and it gets started properly at system boot. My thin script in init.d is as follows,

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

My configuration file in /etc/thin is as follows.

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

You need a wrapper for 'thin'. See https://rvm.io/integration/init-d . The wrapper path then needs substituting for DAEMON in the init.d script. I keep forgetting this and it has cost a good few hours! Now I've checked it out, as root, enter the two commands

    rvm wrapper current bootup thin
    which bootup_thin

The first creates the wrapper, and the second gives the path to it. Edit the DAEMON line in /etc/init.d/thin to use this path, and finish off with

    systemctl daemon-reload
    service thin restart

I have assumed a multi-user installation of rvm, also you have to enter root with

    su -

to get the rvm environment right.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM