Help us understand the problem. What is going on with this article?

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

More than 3 years have passed since last update.

はじめに

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

Tocyuki
SREはじめました。 柔術やってます。
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away