QNAP環境構築手順 Pythonで自作モジュールを使う(WebApp)
※現在はnginx+uWSGIを使用しており、こちらの方法は使用してません。
wsgiはあきらめました。。。。
http://d.hatena.ne.jp/nHand/20120307
とりあえずCGIで動かせるようにします。
別になんて名前でも良いのですが、mod_wsgiインストールに悪戦苦闘した
なごりでwsgiの名前が各所に残っています。。。。
[/usr/local/apache/conf] # vi /usr/local/apache/conf/extra/mod_wsgi.conf
Options +ExecCGI
AddHandler cgi-script .py .cgi
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %b" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio
CustomLog "<ログを書き出したい場所>/access.log" common
[/usr/local/apache/conf] #
[/usr/local/apache/conf] #
この設定をAppatchへ反映さるためapache.confの最終行へ
インクルード設定を追加します。
vi /usr/local/apache/conf/apache.conf
〜最終行へ移動して〜
Include conf/extra/mod_wsgi.conf
apacheを再起動します。
# /usr/local/apache/bin/apachectl -k restart
テストpythonを作成しサーバへ配置して実行
[/share/Web/wsgi] # cat test2.py
#!/opt/bin/python
# -*- encoding: utf-8 -*-
import sys
def main():
ccc = ""
aaa = sys.version_info
bbb = sys.path
ccc = str(aaa) + str(bbb)
print("Content-Type: text/html; charset=utf-8")
print("")
print("Hello! CGI" + ccc)
if __name__ == "__main__":
main()
[/share/Web/wsgi] #
アクセスURL「http://xxxx/wsgi/test2.py」でアクセスします。
特にmajor=3って表示される事を確認します。これが2だとpython2系で動いています。
※/usr/local/apache/conf/apache.conf
このファイルの、一部の属性は再起動するごとにリセットされます。
アクセスログの指定等についてリセットされるので外部ファイルに書きます。