Railsの開発用サーバをPowからPuma-devへ乗り換えた
Rails5からデフォルトRackサーバがPumaになりました。開発用のサーバとして自分はずっとPowを使っていましたが、Pumaを使っているのであればPowではなくpuma-devが主流になっていると知って調べてみたところ、PowからPuma-devへの乗り換えを即決しました。 個人的にいいなと思ったのは以下の点。
- Pow同様「zero-config Rack server」である
- Websocketsをサポート
- Linux対応(全機能を使うには追加のインストールが必要)
- 開発が活発(Powは実質開発が止まっている)
- powder相当のコマンドがPuma-devにはデフォルトで組み込まれている(puma-dev link)
Macでのインストール手順は以下のとおり。
$ curl get.pow.cx/uninstall.sh | sh # Powのuninstall $ brew install puma/puma/puma-dev $ sudo puma-dev -setup $ puma-dev -install
これだけ。使い方は基本的にPowを踏襲していて、移行はスムーズにいけます。
$ cd /path/to/my/app; puma-dev link -n appname # Rackアプリを登録(~/.puma-devへシンボリックリンクを貼る) + App ‘appname' created, linked to '/Users/hoge/.puma-dev/appname'
http://appname.dev or https://appname.dev へアクセスできるようになります。 サーバの再起動もPowのままで、tmp/restart.txtをtouchするだけ。 また、puma-devにシグナルを送れば全アプリを一気に再起動できる。
$ touch tmp/restart.txt # サーバ再起動(Rackアプリの直下で実行) $ pkill -USR1 puma-dev # 全アプリを再起動
しかしPowもそうだったけど「zero-config」で快適に使えるソフトって素晴らしいですね。 例えばfish shellもデフォルトの設定でかなり使えるという触れ込みなので、zshから移行しようかなと思ってたりします。