読者です 読者をやめる 読者になる 読者になる

Ruby on Rails と歩む我が人生

Railsプログラマを目指す漢のRailsとの歩みの記録

rails serverでポートとIPアドレスを指定する方法

Rails プログラミング 備忘録

はじめに

例えば同じ開発環境で複数プロジェクト開発していて、こっちのプロジェクトはポート3000で、こっちのプロジェクトはポート3001でみたいなケースはよくあると思うのですが、その際の対応方法となります。

やりかた

IPアドレスの指定方法

まず、なんのオプションもなく、rails serverコマンドを打つとこんな感じとなります。

$ rails server
=> Booting WEBrick
=> Rails 4.2.5 application starting in development on http://localhost:3000
=> Run `rails server -h` for more startup options
=> Ctrl-C to shutdown server
[2016-12-16 12:30:59] INFO  WEBrick 1.3.1
[2016-12-16 12:30:59] INFO  ruby 2.3.0 (2015-12-25) [x86_64-linux]
[2016-12-16 12:30:59] INFO  WEBrick::HTTPServer#start: pid=6111 port=3000

この場合、デフォルトポートは3000となり、IPはlocalhost(127.0.0.1)となります。Macなどローカル開発している場合は特に問題ないのですが、他のサーバーにSSHで接続して開発している場合、接続することができません。

なので、以下の-bオプションでIPアドレスを指定します。

$ rails s -b 172.20.7.61
=> Booting WEBrick
=> Rails 4.2.5 application starting in development on http://172.20.7.61:3000
=> Run `rails server -h` for more startup options
=> Ctrl-C to shutdown server
[2016-12-16 12:38:58] INFO  WEBrick 1.3.1
[2016-12-16 12:38:58] INFO  ruby 2.3.0 (2015-12-25) [x86_64-linux]
[2016-12-16 12:38:58] INFO  WEBrick::HTTPServer#start: pid=6241 port=3000

このように変更することができます!

ポート番号の指定方法

別のプロジェクトを同一環境で開発していて別ポートでWEBサーバーを立ち上げたいなどの場合に活用できます。

-pオプションでポート番号を指定してあげるだけですね!

$ rails s -p 3200
=> Booting WEBrick
=> Rails 4.2.5 application starting in development on http://localhost:3200
=> Run `rails server -h` for more startup options
=> Ctrl-C to shutdown server
[2016-12-16 12:44:33] INFO  WEBrick 1.3.1
[2016-12-16 12:44:33] INFO  ruby 2.3.0 (2015-12-25) [x86_64-linux]
[2016-12-16 12:44:33] INFO  WEBrick::HTTPServer#start: pid=6354 port=3200

IP指定のオプションと組み合わせることも可能です!

$ rails s -b 172.20.7.61 -p 3100
=> Booting WEBrick
=> Rails 4.2.5 application starting in development on http://172.20.7.61:3100
=> Run `rails server -h` for more startup options
=> Ctrl-C to shutdown server
[2016-12-16 12:45:40] INFO  WEBrick 1.3.1
[2016-12-16 12:45:40] INFO  ruby 2.3.0 (2015-12-25) [x86_64-linux]
[2016-12-16 12:45:40] INFO  WEBrick::HTTPServer#start: pid=6407 port=3100

おわりに

Railsを勉強し始めた時期に地味にここでハマった記憶がありますw

Railsはプログラミングだけではなくインフラ周りの知識も必要となるのでやっていて本当に楽しいっす^^