Edited at

[質問] デプロイや環境移行が面倒という理由でWebフレームワークを積極的に使いたくない。対策ないですか

私は(趣味レベルで)Webブラウザで動くツールを作ることがあるのだが、そのときにWebフレームワークを使うことがあまりなく、基本的にはCGIで書いてしまう1

その理由はデプロイや環境移行が楽である、ということに尽きる。(一度サーバソフトウェアの設定を書いておけば)あとはCGIファイルを置くだけで動くし、環境を移行したい場合もファイルを丸ごと持っていくだけで移行できるし(DBを使っていたらそれも移行する必要はありますが)。

裏を返せば、そのような障壁がなければWebフレームワークを使ってもよいのである。ただ実際には、Webフレームワークを使って書かれたアプリのデプロイは、ファイルを置くことに加え、Webサーバソフトの設定ファイルを書き換えないとならないというのが極めて面倒に感じるのである2。「DRY」という、Ruby on Railsとかが重視している考え方があるけど、この点ってDRYに反しているんですよね。

Herokuとか使えばいいんじゃないかという考えもあるかもしれないけど、できれば自前のサーバ(VPS)でこの点を解決したいと思っているのです。何かいい方法ないでしょうか。例えば「Webサーバソフトの設定ファイルを、アプリの設定ファイル側で管理することができる」(サーバにアップしたら設定ファイルを更新してくれる)というものがあるとありがたいのですが。

※あと希望としては「1サーバに1つだけアプリを置く」という想定ではない解決策でお願いしたいです。





  1. ちなみに私はRubyが好きなのでRubyで書くことが多いです。 



  2. フレームワークによっては、CGIとして動かすモードを備えていることもあったりします。例えばSinatraのCGIモードは実際に使ったことあります。