*いしのなかにいる*

oops ! I am in rock !

【Rails】ポート番号を指定してRailsサーバを起動する方法

こんにちは

開発環境でRailsのサーバを起動するときって、いつもこんなコマンド打ちますよね?

bundle exec rails s

今までこれで起動して困ることはなかったのですが、複数のサーバを同時にあげようとしたときに「どうすんだ?」って軽くはまったのでメモです。

複数のRailsサーバを起動するには

ローカルの開発環境で複数のRailsサーバを起動するときはポート番号を指定します。

冒頭で打ったコマンドに「-p」オプションをつけると指定可能になります。

$ bundle exec rails s -p 3001
=> Booting WEBrick
=> Rails 4.2.2 application starting in development on http://localhost:3001
=> Run `rails server -h` for more startup options
=> Ctrl-C to shutdown server
[2016-04-30 06:47:48] INFO  WEBrick 1.3.1
[2016-04-30 06:47:48] INFO  ruby 2.3.0 (2015-12-25) [x86_64-darwin15]
[2016-04-30 06:47:48] INFO  WEBrick::HTTPServer#start: pid=38169 port=3001

これで、http://localhost:3001でサーバにアクセスできるようになります。

サーバ起動時によく使うオプション

私がサーバ起動時によく使うオプションはこんな感じです。

-p(--port=port):サーバを起動するときのポート番号を指定する

初期値:3000
使用例:ポート番号3001番でサーバを起動する

$ bundle exec rails s -p 3001

-b (--binding=ip):バインドするIPアドレスを指定する

使用例:他の端末からアクセスできるように指定

$ bundle exec rails s -b 0.0.0.0

-e (--environment=name):環境(test/development/production)を指定してサーバを起動する

初期値:development
使用例:production環境としてサーバを起動

$ bundle exec rails s -e production

そのほかのオプション

私はほとんど使わないのですが、他にはこんなオプションがあります。

オプション 説明 初期値
-c (--config=file) rackupファイルを指定
-d (--daemon) デーモンとしてサーバを起動
-u (--debugger) デバックモード
-P (--pid=pid) PIDファイルを指定 tmp/pids/server.pid
-h (--help) ヘルプを表示

最後に

複数プロジェクトを並行して開発しているときなんかに使うことがあるかもなので覚えておいて損はないオプションです。
いろんなオプションを覚えてどんどんRails力を上げていきましょう!