rails sで起動できると思うのですが、rails server -b 0.0.0.0でも起動している人をみました
このbと0.0.0.0ってどういう意味なのでしょうか
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答2件
0
ベストアンサー
IPネットワークにつながっている機器には、少なくとも2つのIPアドレスが付いていることをご存じでしょうか?
1つは、普通に使うIPアドレスで、例えば192.168.100.3
とか。これは機器ごとに異なります。
もう一つは、「自分自身」を表す127.0.0.1
で、これは全ての機器がこのアドレスを持ちます。
(正確には、127.0.0.0/8
なので、先頭が127
なら127.2.3.4
とかも全部そう)
ping 127.0.0.1
とかすると、どのPCでやっても自分自身にping
したことになります。
Railsに限らずですが、IP通信のサーバーは、ネットワークでの待ち受け時に「どのIPアドレスで待ち受けるか」を指定して待ち受けます。これがRailsだと-b
オプションです。
Railsのデフォルトは、127.0.0.1
です。これでPC-Aで起動すると、PC=Bから、http://192.168.100.3
ではつながりません。http://127.0.0.1
で接続する必要がありますが、PC-BでこれをやるとそのアドレスはPC-B自身を意味するので、PC-Aにはつながりません。
ということで、この場合、接続可能なのはPC-A上で、http://127.0.0.1
とした場合のみになります。
rails server -b 192.168.100.3
とやると、PC-AからもPC-Bからもhttp://192.168.100.3
でつながるようになります。
0.0.0.0
を指定すると、「その機器に付いている全部のIPアドレスで待ち受ける」という意味になります。
従って、
ケース1:ローカルなテスト中なので、他のPCからはつないで欲しくない
⇒ rails server
で起動
ケース2:他のPCからつないでもらいたい
⇒ rails server -b 0.0.0.0
で起動
投稿2019/09/12 01:35
総合スコア85890
0
-b IPアドレス
とすることで、バインドするIPアドレスを変更することができます。
デフォルトではlocalhost
にバインドするので、同じマシン上からしかアクセスできません。0.0.0.0
にバインドすると、他のマシンからもアクセスできるようになります。
なお、rails s
はrails server
の略で、差はありません。
投稿2019/09/12 01:17
総合スコア145973
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/09/12 02:00
2019/09/17 04:31
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/09/12 02:00
2019/09/12 02:06
2019/09/17 04:31