我在托管在 apache mpm worker 上的 django 应用程序中使用线程连接到另一台机器。问题是 apache 创建了许多进程,而 django 创建了那么多线程。
基本上我希望它只创建一个线程,即使 apache 创建了许多进程。
有什么办法可以阻止 django 制作许多线程。
I'm assuming you're using WSGI to do this. In the configuration guide there is a bit about
WSGIDaemonProcess example.com processes=2 threads=15
that may come in useful.
对于 Django,最好使用 WSGI(gunicorn/uwsgi) 和 nginx Web 服务器作为前端。
试试这个http://senko.net/en/django-nginx-gunicorn/
如果还想通过fastcgi使用apache + django,可以尝试设置FcgidMaxProcessesPerClass(DefaultMaxClassProcessCount), FcgidMinProcessesPerClass(DefaultMinClassProcessCount), FcgidMaxProcesses(MaxProcessCount), FcgidMaxRequestsPerProcess(MaxRequestsPerProcess) 为1 - mod_fcgid(apache2)。我不知道 mod_python 是如何工作的,但我认为使用它不是一个好主意。