开发,登台和生产环境rails app

时间:2011-04-29 01:46:36

标签: ruby-on-rails ubuntu nginx passenger

我正在创建一个应用程序,除了实时生产环境之外,还需要开发和登台环境。生产环境当前处于活动状态并且位于自己的VPS实例上。记录:

myapp.com  1.2.3.4

开发和登台环境将在他们自己的VPS实例上。我已经配置了相应的DNS记录,因此每个环境都有自己的子域(myapp.com域中的一条记录指向dev / staging服务器:

dev.myapp.com 5.6.7.8
staging.myapp.com 5.6.7.8

Nginx confix(Rails,Passenger)设置每个服务器的根目录(通配符SSL在http定义中配置,端口80重定向到端口443):

server {
   listen 443;
   server_name dev.myapp.com
   root /apps/myapp/dev/public
}

server {
   listen 443;
   server_name staging.myapp.com
   root /apps/myapp/staging/public
}

我对Rails方面有点困惑,我还需要做些什么来配置环境,以便我可以通过URL访问各个开发和登台环境:

staging.myapp.com
dev.myapp.com

我知道Capistrano允许您设置生产和登台环境,但我需要开发和登台URL才能生效或者这应该足够吗?

1 个答案:

答案 0 :(得分:17)

您可以使用rails_env选项为每个实例设置环境。例如:

server {
  listen 443;
  server_name staging.myapp.com;
  root /apps/myapp/staging/public;
  passenger_enabled on;
  rails_env staging;
}