QNAP環境構築手順 Pythonで自作モジュールを使う(WebApp)

※現在はnginx+uWSGIを使用しており、こちらの方法は使用してません。

CGIpythonを取り合えず動かします。

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
このファイルの、一部の属性は再起動するごとにリセットされます。
アクセスログの指定等についてリセットされるので外部ファイルに書きます。