はじめに
例えば同じ開発環境で複数プロジェクト開発していて、こっちのプロジェクトはポート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はプログラミングだけではなくインフラ周りの知識も必要となるのでやっていて本当に楽しいっす^^