最新 追記
人生はユーモアの調味料

カテゴリ別:CD | Handicapped | spam | ネタ | ビール | ライブ | 映画 | 技術 | 雑記 | 写真 | 社会派 | 調査メモ | 読書メモ | 日本酒 | 入院 | 買い物

1970|01|
2003|11|12|
2004|01|02|03|04|07|09|10|11|12|
2005|01|02|03|04|05|07|08|09|10|12|
2006|01|02|03|04|06|07|08|12|
2007|01|02|03|04|05|06|08|09|10|11|
2008|01|02|03|04|05|06|09|10|11|
2009|01|02|04|05|06|07|08|10|12|
2010|01|02|03|
2013|01|

RSS配布


2013-01-14 [長年日記]

_ [技術]client175をwsgi経由で使う

目的

 client175はPythonでできたWebベースのmpdのクライアントソフト。自前のHTTPサーバも持っているが、mod_python経由でのApacheからの利用もやり方が公開されてる。

 ただ今時のPython Webアプリならmod_wsgiだしそもそもmod_pythonは開発が止まっている。client175はcherrypyベースで、cherrypyはmod_wsgiに対応しているので普通にmod_wsgiで動くはず。と言うことでやってみた。

 PythonやらApacheやmod_wsgiがインストールされているのは大前提として、大筋は

  1. client175インストール
  2. site.confの"server_root"設定
  3. wsgiのラウンチスクリプト作成
  4. httpd.conf修正

である。以下手順ではApache-2.2.23、mod_wsgi-3.4、client175_0.7.tar.gzを使用している。

client175インストール

 単純にアーカイブを展開するだけである。場所はどこでも。私は/usr/local/www/以下にした。なので/usr/local/www/client175に関連ファイルがおかれている。そのディレクトリはApacheの起動ユーザが書き込みできる権限にしておく。

site.confの"server_root"設定

 URL的に、サーバの直下(http://xxxx/)でclient175にアクセスする形なら設定する必要はないが、普通はサブディレクトリを切る形(http://xxxx/client175/)で使うはずなので、そのサブディレクトリ名をここに設定する(この場合は"client175")。site.confのそのほかの設定も適切にやっておく。

wsgiのラウンチスクリプト作成

wsgiで起動させるのに必要なコードを作成する。server.py内に直接書いても良いくらいだが、Version Up時に楽なように切り出しておく。

import sys
sys.stdout = sys.stderr
sys.path = ['/usr/local/www/client175', '/usr/local/www/client175/cherrypy'] + sys.path

import server
server.serverless()

def application(environ, start_response):
    return server.cherrypy.tree(environ,start_response)

 3行目のsys.pathの行は、環境に合わせてclient175がインストールされているディレクトリを設定する。これを任意の名前で(俺は"client175.wsgi"にしておいた)、client175のserver.pyと同じところ(この例では/usr/local/www/client175)に置いておく。

httpd.conf修正

 httpd.confに以下を設定する。WSGIScriptAliasの行の1つめの設定値はsite.confの"server_root"設定と同じに、2つめの設定値はwsgiのラウンチスクリプトをフルパスで指定する。

WSGIScriptAlias /client175 "/usr/local/www/client175/client175.wsgi"
<Directory "/usr/local/www/client175/">
    Order deny,allow
    Allow from all
</Directory>

 あとはApacheを再起動したら、http://xxxx/client175/(site.confの"server_root"設定がこの例と違うならそのようなURLに)にアクセスすれば、使えるようになっているはずだ。

 それからこの設定だと、client175はApacheのhttpdプロセスの数だけ立ち上がるので、その数だけmpdに接続が発生する。よって接続される側のmpd.confの"max_connections"を、httpdのプロセス数より多く設定する必要がある。再起動などでの再接続なども考えると、2倍以上の数を設定しておいた方がよい。

本日のリンク元 | 48945 | 46002 | 45872 | 45560 | 45442 | 40686 | 34862 | 26756 | 26689 | 26676 | TrackBack(0)

<< 2013/01/ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1. client175をwsgi経由で使う
15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 >>

クリエイティブ・コモンズ・ライセンス
このworkは、クリエイティブ・コモンズ・ライセンスの下でライセンスされています。