[解決済み] Railsアプリケーションを本番環境に変更する
質問内容
Railsアプリケーションを本番モードで実行するように変更するにはどうすればよいですか?そのための設定ファイル (たとえば environment.rb) はありますか?
どのように解決するのですか?
ApacheとPhusion Passengerを使用して、Rails 4アプリを本番モードでセットアップして実行する方法(ステップバイステップ)。
通常であれば、Railsのプロジェクトに入ることができるはずです。
rails s
で、開発版のアプリを取得できます。
http://something.com:3000
. 本番モードは少し設定が難しいです。
しばらくいじくりまわしていたので、初心者(私のような)のために書いておこうと思いました。インターネット上で広まっているいくつかの小さな微調整がありますが、この方が簡単かもしれないと思いました。
-
サーバーのコアセットアップについては、このガイドを参照してください(CentOS 6ですが、ほぼすべてのLinuxフレーバーに適用されるはずです)。 https://www.digitalocean.com/community/tutorials/how-to-setup-a-rails-4-app-with-apache-and-passenger-on-centos-6
-
Passenger のセットアップが完了した後、必ず
/etc/httpd/conf/httpd.conf
ファイルを作成して、ディレクトリ構造を反映させてください。 DocumentRoot を Rails プロジェクトの /public フォルダに指定します。 のどこかがhttpd.conf
ファイルには、このようなdirがあります。/var/www/html/your_application/public
を更新しないと、すべてが非常にもどかしくなります。私はこのことを十分に強調することができません。 -
サーバーを再起動する(最低でもApacheは-。
service httpd restart
) -
Railsのプロジェクトフォルダを入力します。
/var/www/html/your_application
で移行を開始します。rake db:migrate
. 後でテーブルを追加する予定であっても、データベーステーブルが存在することを確認してください(これはステップ1の一部でもあります)。 -
RAILS_ENV=production rake secret
- に追加できる secret_key が作成されます。config/secrets.yml
. あなたは できる これをconfig/secrets.ymlにコピー&ペーストすると、物事を実行できるようになりますが、これはしないことをお勧めします。個人的には、このステップは他のすべてが動作していることを確認するために行い、後でそれを元に戻してソースを作成します。 -
RAILS_ENV=production rake db:migrate
-
RAILS_ENV=production rake assets:precompile
静的アセットを配信している場合。これは、js、css、画像ファイルを/public
フォルダーに格納されます。 -
RAILS_ENV=production rails s
この時点で、アプリは以下の場所で利用できるようになります。
http://something.com/whatever
ではなく
:3000
. そうでない場合は
passenger-memory-stats
のようなエントリがあるかどうかを確認し
908 469.7 MB 90.9 MB Passenger RackApp: /var/www/html/projectname
おそらく何か凶悪なものを見逃しているのでしょうが、過去にこれでうまくいったことがあります。
関連
-
[解決済み】bcrypt LoadError: Cannot load such file
-
[解決済み] Railsマイグレーションを利用してカラムをドロップする方法
-
[解決済み] RubyとRailsの "Date.today "フォーマット
-
[解決済み] Ruby on Railsのマイグレーションでデータベースのカラムの名前を変更するにはどうすればよいですか?
-
[解決済み] Rubyでnilとemptyとblankを理解する方法
-
[解決済み] 特定のマイグレーションをロールバックする方法を教えてください。
-
[解決済み] Rails 4で懸念事項を使用する方法
-
[解決済み] Rails DBの移行 - テーブルを削除するには?
-
[解決済み】railsでカスタム設定変数を定義する方法
-
[解決済み】Railsのプロダクションでconfig.assets.compile=true、なぜダメなのか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】取得中。「プロジェクトのクローンとマイグレート後に、「マイグレーションは保留中です。この問題を解決するには 'bin/rake db:migrate RAILS_ENV=development' を実行してください。
-
[解決済み】警告:定数 ::Fixnum は非推奨 新しいモデルを生成するとき
-
[解決済み】OS X Yosemite 10.10.5 で [Ruby on Rails] 5 をインストールすると extconf が失敗して終了コード 1 エラーになる。
-
[解決済み] デバイスを使用する現在のユーザーメソッド
-
[解決済み] Ruby on rails "No route matches" (ルートに一致するものがない)。
-
[解決済み] Ruby on Railsのためにnetbeansを構成する方法は?
-
[解決済み] Ruby on Railsでsimple_formを使うさまざまな方法|何が違うの?
-
[解決済み] rails erb フォームヘルパー options_for_select :selected
-
[解決済み] railsアプリケーションでCookieのオーバーフロー?
-
[解決済み] Rspec が私のモデルクラスを認識しない。初期化されていない定数エラー