Search code examples
servicethin

can't run thin web server as a service - thin: unrecognized service


I tried to setup thin service in accordance with RVM and thin, root vs. local user and http://wiki.rubyonrails.org/deployment/nginx-thin?rev=1233246014

And I get thin: unrecognized service when starting the service. How to fix that?

~ > sudo /usr/sbin/update-rc.d -f thin defaults 
update-rc.d: warning: thin stop runlevel arguments (0 1 6) do not match LSB Default-Stop values (S 0 1 6)
 Adding system startup for /etc/init.d/thin ...
   /etc/rc0.d/K20thin -> ../init.d/thin
   /etc/rc1.d/K20thin -> ../init.d/thin
   /etc/rc6.d/K20thin -> ../init.d/thin
   /etc/rc2.d/S20thin -> ../init.d/thin
   /etc/rc3.d/S20thin -> ../init.d/thin
   /etc/rc4.d/S20thin -> ../init.d/thin
   /etc/rc5.d/S20thin -> ../init.d/thin

I changed daemon to point /usr/local/rvm/bin/bootup_thin

~ > sudo cat /etc/init.d/thin
#!/bin/sh
### BEGIN INIT INFO
# Provides:          thin
# Required-Start:    $local_fs $remote_fs
# Required-Stop:     $local_fs $remote_fs
# Default-Start:     2 3 4 5
# Default-Stop:      S 0 1 6
# Short-Description: thin initscript
# Description:       thin
### END INIT INFO

# Original author: Forrest Robertson

# Do NOT "set -e"

DAEMON=/usr/local/rvm/bin/bootup_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

Solution

  • Hm, just found the cause.

    firstly I deleted /etc/init.d/thin, then created and had forgot to chmod +x it.

    So after chmod +x /etc/init.d/thin it works.