OpenShift上にweb2pyをデプロイする。

web2pyオシ。
0
怪力熊女 @M_Igashi

web2pyをOpenShift上にデプロイするためのコツ。OpenShiftはRedhatが提供するPaaSで、gearと呼ばれる仮想環境が3つまでロハで使えるという男前なサービス。cartridgeというサーバーや言語、RDBMSを自動で実装することができてお手軽である。

2016-02-01 05:20:21
怪力熊女 @M_Igashi

web2pyはPython2系ベースのWebアプリケーションフレームワークで、一時の勢いはないもののいまだに情熱的に開発、メンテされていてる。ソースコードをダウンロードすれば他になにも用意せずに開発にとりかかれる手軽さと、極めて合理的に作られているところが魅力。

2016-02-01 05:23:14
怪力熊女 @M_Igashi

Djangoよりもシンプルで、Flaskよりも高機能でちゃんとメンテされている。はじめからGAEで使えるように設計されている点も先見性がある。ただGAEはDBとSSLに制約があるため、商用サービスを念頭に置くならOpenShift上で使うのがベストプラクティスだと思う。

2016-02-01 05:27:47
怪力熊女 @M_Igashi

まずopenshift.comで無料アカウントを作る。するとrhcというrubyで作られたCUIベースのツールを入れるようにうながされるので言われるがままにすすめる。コンソールのSSL設定やら作ったアプリのgit cloneを落としてくれたりとなかなか便利。

2016-02-01 05:34:21
怪力熊女 @M_Igashi

web2pyはOpenShiftで動くようにディレクトリ構造を変えたものを作っている人がすでにいるので、これを使う。 github.com/prelegalwonder… 基本、コマンドをコピペすればOKだが、cartridgeはpython-2.6ではなくpython-2.7を指定。

2016-02-01 05:35:45
怪力熊女 @M_Igashi

ローカルに落としたら、OpenShiftにpushする前にweb2pyを最新のものに換装する。 github.com/prelegalwonder… add、commitしてからpushする。OpenShiftで自分のURLを開けば、もうweb2pyのwelcomeページができている。

2016-02-01 05:40:37
怪力熊女 @M_Igashi

ローカルの開発だが、まずディレクトリ構造が変わっているので libs/gluon にPYTHONPASSを通しておく必要がある。そうするとgitフォルダ wsgi/web2py にあるweb2py.pyからサーバーを起動できる。

2016-02-01 05:45:35
怪力熊女 @M_Igashi

ローカルサーバーが起動できるといくつかファイルが作られるが、そのうちparameters_8000.pyはコピーしてparameters_80.pyにリネームしたものを用意する。logging.confはリモート上でエラーになるのでgitignoreにしておく。

2016-02-01 05:48:31
怪力熊女 @M_Igashi

add、commitして再度push。そうするとOpenShift上のサイトでもローカルで指定したのと同じパスワードでadminにログインができる。web2pyはSQLiteを標準で使っているが、OpenShiftで好みのDBMSカートリッジをインストールして使うといいだろう。

2016-02-01 05:53:54
怪力熊女 @M_Igashi

開発環境はPyCharmを激しくすすめる。ライブラリが扱いやすく、サーバーを走らせたりシンタックスチェックも鮮やかにできる。学生や教員で教育機関のメールアドレスがあればプロフェッショナルエディションがロハである。リモートのadminはDBの操作以外は触れないほうがいい。

2016-02-01 06:01:14
怪力熊女 @M_Igashi

Bottle、Flask、DjangoのPaaSは意外にMicrosoft Azurが良かったりする。 tryappservice.azure.com 自動設定あり。ただで使える。

2016-02-01 16:24:10