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.rb
とconfig/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
環境で実行する必要があることを本番アプリに指定するにはどうすればよいですか?