2

私はPyramidアプリとmod_wsgiを備えたApacheを持っており、それらを連携させようとしています。これが私のhttpd.confです:

ServerRoot "/home/user/webapps/myapp/apache2"
LoadModule dir_module        modules/mod_dir.so
LoadModule env_module        modules/mod_env.so
LoadModule log_config_module modules/mod_log_config.so
LoadModule mime_module       modules/mod_mime.so
LoadModule rewrite_module    modules/mod_rewrite.so
LoadModule setenvif_module   modules/mod_setenvif.so
LoadModule wsgi_module       modules/mod_wsgi.so
LoadModule authz_host_module modules/mod_authz_host.so

LogFormat "%{X-Forwarded-For}i %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combinedCustomLog /home/user/logs/user/access_myapp.log combined
ErrorLog /home/user/logs/user/error_myapp.log
KeepAlive Off
Listen 41121   
MaxSpareThreads 3
MinSpareThreads 1
ServerLimit 1
SetEnvIf X-Forwarded-SSL on HTTPS=1
ThreadsPerChild 5   
WSGIApplicationGroup %{GLOBAL}
WSGIPassAuthorization On
WSGIDaemonProcess myapp processes=1 display-name=%{GROUP} python-path=/home/user/webapps/myapp/htdocs/lib/python2.4/site-packages/ threads=4

WSGIScriptAlias / /home/user/webapps/myapp/htdocs/pyramid.wsgi

<Directory /home/user/webapps/myapp/htdocs>
        WSGIProcessGroup myapp
        Order allow,deny
        Allow from all    
</Directory>

残念ながら、サーバーエラーが発生します:AssertionError:EvalExceptionミドルウェアはマルチプロセス環境では使用できません

私はこのチュートリアルに従い、この投稿を見ましたが、実際には何もできませんでした。

ありがとう!

4

2 に答える 2

4

WSGIDaemonProcessから「processes=1」オプションを削除します。つまり、デフォルトで単一のプロセスにし、明示的に設定しないでください。「processes」オプションを使用すると、「wsgi.multiprocess」がTrueに設定されますが、これは希望どおりではありません。次の「プロセス」オプションのドキュメントを参照してください。

http://code.google.com/p/modwsgi/wiki/ConfigurationDirectives#WSGIDaemonProcess

于 2011-07-15T10:19:12.517 に答える
1

展開設定でデバッグ モードを無効にする必要があります

于 2011-07-15T08:23:06.820 に答える