
Я новичок в 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, которое позволяет получить доступ к файлу.