質問編集履歴

1 質問内容の追記

koume

koume score 164

2019/04/27 11:21  投稿

さくらのVPSでRailsをproductionモードにする方法を教えていただけないでしょうか?
RailsアプリをさくらのVPSにデプロイしました。しかし表示が出来ないなどがあり試行錯誤しながらいろいろ試しています。
Nginx+unicornで行っているのですが、unicornの起動状態を調べてみました。
```ここに言語を入力
$ ps -ef | grep unicorn | grep -v grep
kinoko   4886    1 0 Apr25 ?       00:00:05 unicorn master -c /usr/share/nginx/html/current/config/unicorn/production.rb -E deployment -D
kinoko   4892 4886 0 Apr25 ?       00:00:02 unicorn worker[0] -c /usr/share/nginx/html/current/config/unicorn/production.rb -E deployment -D
kinoko   4895 4886 0 Apr25 ?       00:00:02 unicorn worker[1] -c /usr/share/nginx/html/current/config/unicorn/production.rb -E deployment -D
```
3つほどプロセスが稼働しているみたいです。
プロセスを見たら、development -D とあるので、deveropmentモードで動いているのかもと思い
```ここに言語を入力
rails_envをproductionにしたくて以下を実行しました。
$ export RAILS_ENV=production
$
```
と打ち込みし、再度、起動確認してもdevelopment -Dです。
unicornの設定は以下のようになっています。
```ここに言語を入力
lib/capistrano/tasks/unicorn.rb
namespace :unicorn do
 task :environment do
   set :unicorn_pid,   "/usr/share/nginx/html/current/tmp/pids/unicorn.pid"
   set :unicorn_config, "/usr/share/nginx/html/current/config/unicorn/production.rb"
 end
#unicornをスタートさせるメソッド
 def start_unicorn
   within current_path do
     execute :bundle, :exec, :unicorn, "-c #{fetch(:unicorn_config)} -E #{fetch(:rails_env)} -D"
   end
 end
```
上のファイルの#{fetch(:rails_env)} -D の部分でdevelopmentとなってしまいます。
これがdevelopmentのままでも問題がないのか、production にしないといけないのかが知りたいのです。
rails_envをproductionnにするべきだと思いますが、その方法がわかりません。
単純に#{fetch(:rails_env)} -Dのところをproduction -Dにすれば表示自体出来るのだと思います。それだけでこの疑問が解決されるのか、それともrails_envをpeoductionになるように設定するべき項目があるのか、そのへんの所の疑問が払拭されず悩んでいます。
たぶん rails_env をproductionになるように設定するべきなのだと思いますが、その方法がわかからないのです。。
どなたかご教示お願いできますでしょうか?よろしくお願いします。
どなたかご教示お願いできますでしょうか?よろしくお願いします。
質問内容の追記
もしかして、デプロイ前の仮想マシンをproductionモードにしてからデプロイするべきなのでしょうか?
  • VPS

    616 questions

    VPS(バーチャル・プライベート・サーバ)は、仮想化されたサーバをレンタルするサービスで、共有サーバでありながら専門サーバと同等の機能を果たします。物理的な専門サーバより安価で提供できるメリットがあります。

  • Ruby on Rails 5

    5633 questions

    Ruby on Rails 5は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る