1

4 つの Rails 環境があります。

  • テスト
  • 発達
  • 演出
  • 製造

Rails はステージングと本番に完全にデプロイされますが、本番 Rails は本番データベースではなくステージング データベースを使用しているという事実を除きます。私は何を間違っていますか?まだチェックしていないものは何ですか?カピストラーノでデータベースのセットアップが必要なものはありますか?

ここに注意すべき点がいくつかあります。

config/database.ymlは、ステージング データベースと運用データベースを明確に区別しています。

staging:
  adapter: mysql2
  encoding: utf8
  database: some_app
  pool: 5
  username: some_user
  password: some_pass
  host: staging.zzzzz.com
  port: 1911

production:
  adapter: mysql2
  encoding: utf8
  database: some_app
  pool: 5
  username: some_user
  password: some_pass
  host: production.zzzzz.com
  port: 1611

本番用とステージング用の Rails 環境は同じです。つまり、config/environments/staging.rbconfig/environments/staging.rbは同一です。

本番環境の Passenger サーバーは、本番環境で Rails アプリを実行する必要があります。ラインを見るRailsEnv production

<VirtualHost *:80>

LoadModule passenger_module /opt/ruby-enterprise-1.8.7-2011.12/lib/ruby/gems/1.8/gems/passenger-3.0.11/ext/apache2/mod_passenger.so
PassengerRoot /opt/ruby-enterprise-1.8.7-2011.12/lib/ruby/gems/1.8/gems/passenger-3.0.11
PassengerRuby /opt/ruby-enterprise-1.8.7-2011.12/bin/ruby
PassengerMaxPoolSize 20

Include conf/rhapcom.conf
Include conf/maintenance.conf
Include conf/redirects.conf

DocumentRoot /var/rails80/current/public
<Directory /var/rails80/current/public>
    RailsEnv production
    AllowOverride all
    Options -MultiViews
</Directory>

</VirtualHost>

Include conf/oldrotw.conf

いくつかの調査の後、本番アプリが実際に統合環境で実行されていることがわかりました。で確認しましRails.envた。production環境で実行する必要があることを本番アプリに指定するにはどうすればよいですか?

4

1 に答える 1