21
21

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Porboという開発用PSGIサーバを作った

Last updated at Posted at 2014-06-09

概要

Mojoliciousに付随しているMorboのような開発用サーバが欲しかったので、
勉強がてらにPorboという開発用PSGIサーバを作った。
以下のような条件を全て満たす開発用サーバが欲しかった。

  • シングルプロセスで複数のポートをListenできる(HTTP::Server::PSGIだとできない)
  • SSLに対応している(Twiggyだと対応していない)
  • Plack::Middlewareが使える(Morboだと使えない)

個人的にこれらの機能が備わっていると開発が捗る。

Porboの中身

複数ポートをListenするからイベント駆動が必要そうだな、
ということでAnyEventを使用して書いた。
TwiggyやHTTP::Sever::PSGIを読んで、見よう見まねで作ったので、
AnyEventの仕様や動作などをまだよく理解できておらず勉強中。

テストはTwiggyのものを流用させていただき、
ひとまずテストが通るようになるまで修正をした。

コードレビューしていただける方、募集中です。
https://github.com/memememomo/Porbo

使い方

以下のコマンドでインストール。

$ git@github.com:memememomo/Porbo.git
$ cd Porbo
$ cpanm .

以下のコマンドで起動。

$ plackup -s Porbo --listen http://127.0.0.1:3000/ app.psgi

SSLを使用する場合は、認証ファイルなどを用意して、以下のように指定する。

$ plackup -s Porbo \
          --listen http://127.0.0.1:3000 \
          --listen https://127.0.0.1:3001 \
          --ssl-key-file server.key \
          --ssl-cert-file server.crt \
          app.psgi

とりあえずこれでドッグフードを食べながら改善していきたい。

21
21
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
21
21

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?