2016-08-13 11 views
1

生産モードでPumaをインストールした後は、ローカルマシンでは実行しないでください。ただし、Pumaは開発モードで起動していて、エラーなしで一度停止します。Ruma on Puma

$ rails server 
=> Booting Puma 
=> Rails 4.2.2 application starting in development on http://localhost:3000 
=> Run `rails server -h` for more startup options 
=> Ctrl-C to shutdown server 
[8707] Puma starting in cluster mode... 
[8707] * Version 3.1.0 (ruby 2.3.0-p0), codename: El Niño Winter Wonderland 
[8707] * Min threads: 1, max threads: 6 
[8707] * Environment: development 
[8707] * Process workers: 1 
[8707] * Phased restart available 
[8707] * Listening on tcp://localhost:3000 
[8707] Use Ctrl-C to stop 

バンドラの問題であるように見えます:それは、プーマと本番モードのためにそこにサーバーを使用していることを人々のために周りの真の解決策が、いい仕事ではありません github.com/puma/puma/issues/983

+1

あなたのgemfileの '' puma gem '宝石「プーマ」、「〜3.4」、それが何か変わるかどうかを確認してください。 – mrvncaragay

+0

ありがとうmrvncaragay!私は生産からプーマを削除する場合にのみ仕事ですが、生産モードではプーマが必要です – ChaosPredictor

+0

簡単に修正できます。 porudctionモードでコメントを外します。開発モードでのコメント:) – mrvncaragay

答えて

1

と、ローカルマシンの開発に仕事をしたいですWEBrickのモード。 mrvncaragayアイデアでこのソリューションベース

1. スプリットあなたGemfile 3へのファイル:Gemfile_baseで

Gemfile_base 
Gemfile_development 
Gemfile_production 

はテストしていないすべてのgem S、開発&生産が含まれます。 source 'https://rubygems.org'またはGemfile_developmentまたはGemfile_productionファイルに含める理由はありません。 Gemfile_developmentで はgem

2. のみ生産を含めるだけテスト&開発gemの Gemfile_production内を含めるにGemfile内のすべての行を置き換えます

source 'https://rubygems.org' 

gemfiles = [ 'Gemfile_base', 'Gemfile_development' ] 
#gemfiles = [ 'Gemfile_base', 'Gemfile_production' ] 
gemfiles.each do |gemfile| 
    instance_eval File.read(gemfile) 
end 

3. 展開本番サーバー

4. .gitignoreファイルにGemfileを追加します。

#bundle Puma in development mode bad wordaround 
Gemfile 

5. 変更

git rm --cached Gemfile 

6.

ソース管理からUntrack Gemfileから本番サーバーにGemfileの中で行をコミット:に

source 'https://rubygems.org' 

gemfiles = [ 'Gemfile_base', 'Gemfile_development' ] 
#gemfiles = [ 'Gemfile_base', 'Gemfile_production' ] 
gemfiles.each do |gemfile| 
    instance_eval File.read(gemfile) 
end 

source 'https://rubygems.org' 

#gemfiles = [ 'Gemfile_base', 'Gemfile_development' ] 
gemfiles = [ 'Gemfile_base', 'Gemfile_production' ] 
gemfiles.each do |gemfile| 
    instance_eval File.read(gemfile) 
end 
+0

バンドラのグループ機能を使用するのではなく、なぜこれをやっていますか? –

+1

@FrederickCheungプロダクションモードで 'group'が' puma'と全く同じ働きをしていないので([これをチェック](http://github.com/puma/puma/issues/983))。いずれにせよ、これは私のシステムで実装できる解決策ではなく、何らかの方法でホイールを再発明しようとしています。より良いオプション(またはバグフィックス)が到着するまで、私はdevでpumaを使い続けます。 –

関連する問題