フレームワークを使用せずにローカルホストにサーバーを立ち上げる(Ruby使用)
フレームワークに頼らずにWEBサーバーを立ち上げたい
と思ったことがある人いませんか?ちょっとだけ動作確認したいときとか。
では、どうやってサーバを立ち上げればいいのか。
Apacheを使用するとサーバを構築することができるようですが、インストールはしたくない。
railsを使用すればサーバ構築できるけど、rails newするのが面倒。
rails使えばサーバを立ち上げれるのであれば、rubyを使用した方法はないのかな?と思って調べてみたところ、webrick
というのを見つけました。
webrickとは?
Rubyに標準添付されているサーバー用のフレームワーク。
Rails s
するとBooting WEBrick
と出てくる。railsもこのフレームワークを使用しているみたい。
※実際にBooting WEBrickのログを取ろうとしたらBooting Pumaって出てきた。
コードを用意する
require 'webrick' srv = WEBrick::HTTPServer.new({ DocumentRoot: '.', BindAddress: 'localhost', Port: '3000', }) srv.start
- DocumentRoot:サーバ上のルートディレクトリに対応させる
- BindAddress:今回はlocalhostで。IPアドレス("127.0.0.1")でも大丈夫
- Port:ポート番号。Railsと同じ3000を指定
起動する
ターミナルから起動
$ ruby webric.rb [2019-03-02 17:33:05] INFO WEBrick 1.3.1 [2019-03-02 17:33:05] INFO ruby 2.1.3 (2014-09-19) [x64-mingw32] [2019-03-02 17:33:05] INFO WEBrick::HTTPServer#start: pid=16064 port=3000
ブラウザからlocalhost:3000に接続すると起動しているのが確認できる。
最後に
そもそもローカルにサーバを立ち上げようとしたのは、スマホで自分の作成したサイトを確認しようとしたからだけど、結局PCとスマホが同一ネットワーク上に存在していなかったので確認できなかった。 ただ、いままで何となくrails sでサーバを起動していたけれど、その中身を少しだけ勉強できたので良しとしよう。