Python の軽量WebフレームワークBottleを手軽にいれたかったんですが、どうもはまるので前回に引き続きです。
ドキュメントを見ながらやったんですが、どうも泥臭い部分があるので指摘あったらもらいたい。
#ソースからmod_wsgi をインストール
任意の場所にソースを入れたかったのですが、一番単純なのは下記を参考にしてMakefileを書き換えました。
Web上でPython3を駆動するためにさくらVPSサーバーにmod_wsgiをインストールする
これ自体「あってんのか?」とも疑問なんですが、、確かにコントロールはしやすいなと。
APXS = /usr/bin/apxs
PYTHON = /usr/bin/python
DESTDIR =
LIBEXECDIR = /usr/local/apache2/modules
LIBEXECDIR = /usr/lib64/httpd/modules
↓
LIBEXECDIR = /usr/local/apache2/modules
に変更して make install しました。
#設定ファイル書き換えたり
/usr/local/apache2/conf/httpd.conf の一番下に追加しました。
LoadModule wsgi_module modules/mod_wsgi.so
WSGISocketPrefix run/wsgi
WSGIScriptAlias /pywork /usr/local/apache2/htdocs/pytest/test.wsgi
#bottleとapache(mod_wsgi)の連動
PythonのBottleを初めて触ってから30分で本番環境にデプロイ
↑の記事を参考にして連動させました。基本はhtdocs に全部入れるとライブラリアクセス違反とかのトラブルがひとまずは無いので、それで疎通確認しました。
#/home/[user]/public_html/内で動かしたい。。
ユーザーごととか、Webサービスごとにアドレスの切り分けってどうやってやってるんだろう。ってみると公式でもいろんなところみても VituralHostを切ってる所が一般的っぽいんですが、、そこまでやりたくない。
そんなとき、これも力業なんですが、要するに WSGIScriptAlias を切ると実現はできるようです。
Django + mod_wsgi + Apache で複数Djangoプロジェクトを公開する
/htdocs内に各ユーザのpublic_htmlの様なもののシンボリックリンクを張って、httpd.conf に追加、という泥臭い方法なんですが、これも正直「これでいいのか?」って思いながらやってます。
個人の運用だったらまあ、手軽でいいのかなともおもいますが。
#結果
http://www.green-teadog.tokyo/pywork
サンプルうごきました。