【发布时间】:2010-07-09 18:38:32
【问题描述】:
首先,我的网站已启动并运行正常。没有关键问题。
我想了解一些事情。
我将从我的系统概述开始。
这是一个 django 驱动的站点,位于具有 256MB RAM 的 CentOS 5.3 VPS 上,在带有 mod_wsgi 的 apache 下。
django 应用程序作为具有 1 个线程的守护进程运行。
我的应用程序需要的是: 1.初始化日志记录(目前它正在工作,但我每次都得到双重日志记录) 2. 开始守护线程做一些后台工作
现在,我已经阅读并实施了 http://blog.dscpl.com.au/2010/03/improved-wsgi-script-for-use-with.html 但这并没有太大帮助。
基本上我必须手动禁用工作 MPM(只有 prefork MPM 正在运行)并将守护进程配置为一个进程和一个线程(由于某种原因,它不适用于任何其他组合)。
但奇怪的是该站点正在运行并且正在创建 2 个后台线程。 1. 这是怎么发生的? 2. 我的设置是否意味着我的站点不会处理并发请求?
这是我网站上的一些配置
httpd.conf
WSGIScriptAlias / /var/www/NiceHouse/trunk/apache/django.wsgi
WSGISocketPrefix run/wsgi
<VirtualHost *:80>
WSGIDaemonProcess site-1 user=**** group=**** threads=1
WSGIProcessGroup site-1
ServerName *****
ServerAlias *****
ServerAdmin *****
#DocumentRoot /usr/local/www/documents
#Alias /robots.txt /usr/local/www/documents/robots.txt
#Alias /favicon.ico /usr/local/www/documents/favicon.ico
Alias /media/ /usr/lib/python2.4/site-packages/django/contrib/admin/media/
Alias /site_media/ /var/www/NiceHouse/trunk/media/
Alias /phpmyadmin /var/www/phpmyadmin/
#<Directory /usr/local/www/documents>
#Order allow,deny
#Allow from all
#</Directory>
WSGIScriptAlias / /var/www/NiceHouse/trunk/apache/django.wsgi
#<Directory /usr/local/www/wsgi-scripts>
#Order allow,deny
#Allow from all
#</Directory>
</VirtualHost>
swtune.conf
<IfModule prefork.c>
StartServers 1
MinSpareServers 1
MaxSpareServers 3
ServerLimit 50
MaxClients 50
MaxRequestsPerChild 1000
</IfModule>
django.wsgi
import sys
import os
os.environ['PYTHON_EGG_CACHE']='/tmp/hoge'
os.environ['DJANGO_SETTINGS_MODULE'] = 'settings'
sys.path.insert(0,'/var/www/NiceHouse/trunk')
import settings
import django.core.management
django.core.management.setup_environ(settings)
utility = django.core.management.ManagementUtility()
command = utility.fetch_command('runserver')
command.validate()
import django.conf
import django.utils
django.utils.translation.activate(django.conf.settings.LANGUAGE_CODE)
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
我会很感激任何帮助
谢谢,埃拉德
【问题讨论】:
标签: django multithreading mod-wsgi