我正在创build一个应用程序,除了实时生产环境需要一个开发和分期环境。 生产环境目前正在运行,并在自己的VPS实例上运行。 一个logging:
myapp.com 1.2.3.4
开发和分期环境将在他们自己的VPS实例上。 我configuration了合适的DNSlogging,以便每个环境都有自己的子域(myapp.com域中指向dev / staging服务器的logging:
dev.myapp.com 5.6.7.8 staging.myapp.com 5.6.7.8
Nginx confix(Rails,Passenger)设置每个服务器的根目录(通配符SSL在http定义中configuration,端口80redirect到端口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方面有点困惑,我还需要做什么来configuration环境,以便我可以通过URL访问各个开发环境和登台环境:
staging.myapp.com dev.myapp.com
我知道Capistrano允许您设置生产环境和登台环境,但是我需要开发和登台URL才能生效,或者这应该足够吗?
您可以使用rails_env
选项为每个实例设置环境。 例如:
server { listen 443; server_name staging.myapp.com; root /apps/myapp/staging/public; passenger_enabled on; rails_env staging; }