
私は Django/Python/mod_wsgi を初めて使用するのですが、このファイルを最適化してメモリ使用量を削減できるかどうか疑問に思っています。
ServerRoot "/home/<foo>/webapps/django_wsgi/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
LogFormat "%{X-Forwarded-For}i %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
CustomLog /home/<foo>/logs/user/access_django_wsgi.log combined
ErrorLog /home/<foo>/logs/user/error_django_wsgi.log
KeepAlive Off
Listen 12345
MaxSpareThreads 3
MinSpareThreads 1
MaxClients 5
MaxRequestsPerChild 300
ServerLimit 4
HostnameLookups Off
SetEnvIf X-Forwarded-SSL on HTTPS=1
ThreadsPerChild 5
WSGIDaemonProcess django_wsgi processes=5 python-path=/home/<foo>/webapps/django_wsgi:/home/<foo>/webapps/django_wsgi/lib/python2.6 threads=1
WSGIPythonPath /home/<foo>/webapps/django_wsgi:/home/<foo>/webapps/django_wsgi/lib/python2.6
WSGIScriptAlias /auctions /home/<foo>/webapps/django_wsgi/auctions.wsgi
WSGIScriptAlias /achievers /home/<foo>/webapps/django_wsgi/achievers.wsgi
答え1
WSGIDaemonProcess ディレクティブを定義して別のデーモン プロセス グループを作成しましたが、実際には使用されていません。デーモン モードを使用するつもりなら、WSGIPythonPath を削除して代わりに以下を追加する必要があります。
WSGIProcessGroup django_wsgi
また、デーモン モードを使用し、メインの Apache プロセスで発生する処理が静的ファイルの提供のみである場合は、ThreadsPerChild を次のように変更できます。
MaxRequestsPerChild 0
Apache サーバーの子プロセスを定期的にリサイクルする必要がないためです。
ところで、Apache のデフォルトの設定をすべて破棄して、必要と思われる設定だけを追加するのはよくありません。デフォルトのアクセス セキュリティをすべて破棄することになるので、ファイルにアクセスするための URL マッピングが存在する場合、技術的にはシステム上のすべてのファイルを提供できることになります。