我正在尝试创build一个启动脚本,在启动时为我的Ubuntu 12.04服务器运行这个命令:
软件包执行薄-R -R config.ru开始-p 3030
当我以普通用户身份运行它时,它工作得很好,瘦Web服务器启动,我可以访问我需要的页面。 下面是我试图使用/etc/init/thin.conf的启动脚本:
description "thin" version "1.0" author "Me" env LANG=en_US.UTF-8 env APP_HOME=/home/username/onlinetraining_dashboard respawn start on runlevel [23] script cd $APP_HOME sudo -u username /home/username/.rvm/gems/ruby-1.9.3-p448@global/bin/bundle exec thin -R config.ru start -p 3030 > $APP_HOME/log/thin.log 2>&1 end script
然后,我将input“sudo start thin”来运行脚本,并在启动时启动。
当我启动服务时,在日志文件中出现这个错误:
/usr/bin/env: ruby_executable_hooks: No such file or directory
我正在使用RVM 1.9.3的ruby。
这是我假设我的.bash_profile允许我运行命令包exec thin -r config.ru start -p 3030没有错误:
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session *as a function*
我也试过这个脚本没有成功。
sudo -u username bundle exec thin -R config.ru start -p 3030 > $APP_HOME/log/thin.log 2>&1
谢谢您的帮助。
你应该使用包装,你可以在这里阅读更多关于它们: http : //rvm.io/integration/init-d