0

Debian/Apache/Python2.6/Django セットアップで mod_wsgi をデーモン モードで実行するのに問題があります。私の仮想ホスト構成ファイルには、

<VirtualHost *:80>

  ServerName mysite.com

  WSGIDaemonProcess mysite.com processes=2 threads=15
  WSGIProcessGroup mysite.com

  WSGIScriptAlias / /path/to/mysite/wsgi/django.wsgi

  <Directory /path/to/mysite/wsgi/>
    Order deny,allow
    Allow from all
  </Directory>

</VirtualHost>

設定。デーモン モードのアクティブ化をテストするには、次の wsgi スクリプトを使用します。

import sys
import os

os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'mysite.settings')

def application(environ, start_response):
    print >> sys.stderr, 'mod_wsgi.process_group = %s' % repr(environ['mod_wsgi.process_group']) 

    from django.core.handlers.wsgi import WSGIHandler
    _application = WSGIHandler()

    return _application(environ, start_response)

結果のログファイルには常に次のように表示されます。

mod_wsgi.process_group = ''

ドキュメントによると、これはデーモンモードが使用されていないことを示しています。セットアップを何度も確認しました。Apache、mod_wsgi、および Python のバージョンは一致しており、そこで読んだすべての HOWTO によると、セットアップは正しいです。何が欠けている可能性がありますか?


編集: 参考までに、私のアプリケーションは組み込みモードで正常に動作しています。デーモン モードに切り替えたかっただけで、上記の wsgi スクリプトを使用してアクティブ化されていないことがわかりました。

4

2 に答える 2

1

シンボリックリンクが正しく設定されていないことが判明したため、設定の変更が Apache に読み込まれませんでした。お時間を無駄にして申し訳ありません。投稿する前にすべてを徹底的に確認したと思います。

于 2013-02-19T16:14:49.650 に答える
0

この行mod_wsgi.process_group = ''は、まだ組み込みモードで動作していることを示しています (ご指摘のとおり)。mod_wsgiデーモンモードは機能しないApache 1.xので、実行していると思います2.x(あなたも指摘しているように)。

Apacheを設定してみてください

LogLevel info

ログ ファイルにより役立つ情報が含まれるようにします。また、Apacheを強制的に再起動したと仮定しています

# /etc/init.d/apache2 restart

これはデーモン モードではそれほど必要ではありませんが、以前に組み込みモードを使用していた場合は、構成ファイルをリロードする必要があります。

于 2013-02-19T11:37:30.963 に答える