9

mod_python (RHEL 5) の代わりに mod_wsgi を使用して Django サイトを実行しようとしています。すべてのサイトでこれを試しましたが、同じ問題が発生します。誰もが推奨する標準的な方法で構成しましたが、サイトへの要求は単にタイムアウトします。

アパッチ設定:

<VirtualHost 74.54.144.34>
    DocumentRoot /wwwclients/thymeandagain
    ServerName thymeandagain4corners.com
    ServerAlias www.thymeandagain4corners.com
    LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
    CustomLog /var/log/httpd/thymeandagain_access_log combined
    ErrorLog /var/log/httpd/thymeandagain_error_log
    LogLevel error
    WSGIScriptAlias / /wwwclients/thymeandagain/wsgi_handler.py
    WSGIDaemonProcess thymeandagain user=admin group=admin processes=1 threads=16
    WSGIProcessGroup thymeandagain
</VirtualHost>

wsgi_handler.py:

import sys
import os

sys.path.append("/wwwclients")
os.environ['DJANGO_SETTINGS_MODULE'] = 'thymeandagain.settings'

import django.core.handlers.wsgi

application = django.core.handlers.wsgi.WSGIHandler()

デーモン mod_wsgi がスポーンするはずがないため、リクエストがタイムアウトするだけで、ログに「WSGI デーモン プロセスに接続できません」というエラーが大量に記録されます。デーモンの作成を妨げている WSGIDaemonProcess ディレクティブについて何かありますか? 助けてくれてありがとう...

編集:エラーログにこれを取得します:

[WARN@1227228322.174175] mcm_server_readable():2582: timeout: Operation now in progress: select(2) call timed out for read(2)able fds
[INFO@1227228322.174263] mcm_get_line():1592
[WARN@1227227903.249626] mcm_server_readable():2582: timeout: Operation now in progress: select(2) call timed out for read(2)able fds
[INFO@1227227903.249712] mcm_get_line():1592
[Thu Nov 20 21:18:17 2008] [notice] caught SIGTERM, shutting down
[Thu Nov 20 21:18:18 2008] [notice] Digest: generating secret for digest authentication ...
[Thu Nov 20 21:18:18 2008] [notice] Digest: done
[Thu Nov 20 21:18:18 2008] [notice] mod_python: Creating 4 session mutexes based on 8 max processes and 64 max threads.
[Thu Nov 20 21:18:18 2008] [notice] Apache/2.2.3 (Red Hat) mod_python/3.2.8 Python/2.4.3 mod_wsgi/2.1-BRANCH configured -- resuming normal operations
4

3 に答える 3

10

本当の問題は、Apache ログ ディレクトリのアクセス許可です。Apache/mod_wsgi に、デーモン プロセスとの通信に使用される UNIX ソケット用の別の場所を使用するように指示する必要があります。見る:

http://code.google.com/p/modwsgi/wiki/ConfigurationIssues#Location_Of_UNIX_Sockets

于 2009-06-24T12:35:32.147 に答える
4

問題は、mod_pythonがmod_wsgiとうまく連携しないことです。私は数週間前に同様の問題に遭遇し、mod_pythonの包含をコメントアウトした直後にすべてが機能し始めました。

modwsgi.org wikiで「mod_python」を検索してみてください。コメントのどこかで、これについて話している人がいたと思います。

于 2008-12-04T02:42:14.717 に答える
1

これは、django をmod_wsgiと統合する方法に関する非常に詳細な説明です。

于 2008-11-19T18:21:34.323 に答える