启动后自动启动Rails服务器

时间:2011-04-07 16:57:25

标签: ruby-on-rails scripting ubuntu

我需要cd到目录并在启动后运行'rails server'命令。 示例

cd / home / bab / rails / app /

然后当我在app目录中运行rails server命令时。

some1可以帮助我...使用ubuntu 9.10和rails 3.0.0

3 个答案:

答案 0 :(得分:3)

尝试添加到/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

但最好在这里使用passenger gem与Nginx或Apache

http://modrails.com/

易于设置且易于使用

答案 1 :(得分:2)

我在使用RVM,ruby和rails时遇到了同样的错误。我的目录是/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进行测试,无需重启。

答案 2 :(得分:2)

我能够通过以下方式实现这一目标:

创建一个脚本" rails.run"使用以下行使用所需的用户和参数启动轨道上的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