15

私たちのアプリケーションは、互いに通信する異なるポートで 2 つの Rails サーバーを実行します。Rails 3.2.8 を使用して、ターミナルを開いcdてプロジェクトを実行しrails s -p3000、別のターミナルを開いて実行rails s -p3001し、すべて正常に動作しました。gemfile には が含まれてthinいるため、thin自動的に起動されますが、 を使用すると、必要なときにrails sを使用でき--debuggerます。

Rails 3.2.11 を更新してから、これは機能しなくなりました。エラーが表示されます:「サーバーは既に実行されています。/home/george/Projects/dashboard/tmp/pids/server.pid を確認してください」。両方のポートで直接起動できthinますが、デバッグ サポートはありません。一方の起動thinと他方の起動railsは機能していないように見えましたが、エラーによってサーバーが停止したときにすべてのサーバー タスクが強制終了されたかどうかは明らかではありませんでした。

4

3 に答える 3

34

どちらのコマンドもデフォルトの PID ファイルの場所 ( tmp/pids/server.pid) をチェックしているため、このエラーが表示されます。次のように複数のサーバーを実行してみてください。

サーバー 1: bundle exec rails s

サーバー 2: bundle exec rails s -p 3001 -P tmp/pids/server2.pid

于 2013-01-21T20:45:43.433 に答える
2

Stackoverflow の別の場所に投稿されたのは、Rails 3.2.11 で問題が発生した場合は、rack1.4.1 でロックしてみてください。これはこれまでのところうまくいくようです。追加した:

gem 'rack' , '1.4.1'

に、gemfile次に実行されます

bundle update rack
于 2013-01-15T00:41:47.293 に答える
0

フォアマンを使ってみてください https://github.com/ddollar/foreman

Railscast: http://railscasts.com/episodes/281-foreman?view=comments

于 2013-10-24T07:59:04.837 に答える