thin + nginx 在linux 重启后自动启动的脚本.
访问量: 2710
很多朋友使用了 thin 或者 rbenv之后,发现无法愉快的让rails 随着linux 的启动而启动.
记住几点即可:
1. 让PATH中包含 rbenv的路径
2. 调试时多查看: /var/logs/boot.log 文件
具体过程如下:
1. 新建文件 /etc/init.d/start_rails_servers : (注意下面代码前几行不可缺少)
#!/bin/bash source /root/.bashrc export PATH=/root/.rbenv/shims:/root/.rbenv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games echo "path is: " echo $PATH cd /opt/app/upload.tuling.siwei.tech/ && bundle exec thin restart -C config/thin.yml
如果希望root 用 普通用户身份运行某个命令的话, 使用:
su -c 'touch ~/lala.txt' shensiwei
这样, 就可以发现, 新增了这个文件: /home/shensiwei/lala.txt
2. 为该脚本加上可执行的权限
$ chmod +x /etc/init.d/start_rails_servers
3. 更新linux 的启动代码
$ update-rc.d start_rails_servers defaults
好了, 现在你的linux 启动时, 就会自动启动rails 应用了.
如何取消自动重启, 又不必删除它?
echo manual >> /etc/init/redis-server.override
echo manual >> /etc/init/mysql.override