音楽とお酒とものづくりと

営業マンが元webエンジニアの経験を生かしてあれやこれやするやつ

ruby+sinatraで作成したwebアプリへの外部からのアクセス方法

久しぶりの更新ですね(ちゃんと生きてます
今回はweb初心者がrubyの起動に関するところで勉強したことをひとつ.

はじめに

webアプリをサーバで動かし,そこに他のマシンからアクセスできるようにするためには,自分でイチからサーバ構築する必要があるのかと思っていました.
しかし,WEBrickを使えばそんな必要はなさげです.

webrickとは

Weblioより引用www.weblio.jp

はい,わざわざ自分で構築する必要がなくなります.
どうやら最近のバージョンでは,rubyインストール時にくっついてきてくれるようです.

当然,実際に運用するためにはきちんと構築する必要がありそうですが,今回みたいに実験的にちょこちょこっと使いたい,みたいな用途に対しては非常に便利ですね.

アプリの起動

では,実際に起動してみます.

ruby filename.rb

これでwebアプリを起動することができます.
しかし,このままではlocalhostからのアクセスしか受け付けません.
そこで,実行環境とホストのIPアドレス,ポート番号を指定してやります.

ruby filename.rb -e production -o IPAddress -p port

eで実行環境を選択することができます
developmentは開発環境として,productionは本番環境として起動してくれます.

oでホストのIPアドレスを,pでポート番号を指定することができます.
今回はrubyプログラムを実行するマシンのIPアドレスを固定し,そのアドレスを指定しました.

これで無事に動いてくれます.
次に他のマシンからサーバに対してのアクセスを試みます.

他のマシンからのアクセス

IPアドレス:ポート番号/filename

ブラウザから,指定したIPアドレスとポート番号を入力し,表示させたいページを指定すればOK
localhostの場合だと,localhost:4567/indexという具合ですね.

これで他のマシンからもアクセスが可能になります.

参考

参考にさせていただいた記事はこちらhamuhamuengineer.blogspot.jp