我需要cd到一个目录并在启动后运行“rails server”命令。 例
cd / home / bab / rails / app /
那么当我在应用程序目录中运行rails server命令。
可以some1帮助我这个…使用Ubuntu 9.10和轨道3.0.0
尝试添加到/etc/rc.local
这个:
ruby /path/to/your/app/script/rails s -P /path/to/your/app/tmp/pids/server.pid -c /path/to/your/app/config.ru -d
但最好在这里用Nginx或者Apache来使用passenger gem
它很容易设置和易于使用
我得到了与RVM,红宝石和导轨相同的错误。 我的目录是/home/user/rails-project/
。 把它放在.bashrc
,我可以使用“rvm”命令:
source ~/.rvm/scripts/rvm
server$:which rails
:
/home/user/.rvm/gems/ruby-2.2.1/bin/rails
以上显示了当前的栏杆。
所以, rc.local
的最后一个命令是:
su user-c "source ~/.rvm/scripts/rvm ; cd /home/user/rails-project/ ; /home/user/.rvm/gems/ruby-2.2.1/bin/rails s -d -e production"
你可以在rc.local
使用这个代码来调试:
exec 2> /tmp/rc.local.log # send stderr from rc.local to a log file exec 1>&2 # send stdout to the same log file set -x # tell sh to display commands before execution
使用sudo service rc.local start
进行测试,无需重启。
我能够以下面的方式完成这个工作:
用下面的代码创建一个脚本“rails.run”,使用所需的用户和参数在rails上启动ruby:
sudo -H -u <username> bash -c '/home/username/.rbenv/versions/2.2.3/bin/ruby bin/rails server --port=3000 --binding=ip_address -d'
然后用一个简单的线将这个脚本添加到rc.local文件中,例如:
/home/username/rails.run