Почему mod_wsgi не поддерживает режим демона в Windows? - PullRequest
4 голосов
/ 20 марта 2011

На http://code.google.com/p/modwsgi/ можно прочитать это утверждение

Однако демон-режим mod_wsgi будет доступен только в Apache 2.0 или 2.2, работающем в UNIX, и только в том случае, если в основе находится исполняющая библиотека ApacheApache был скомпилирован с поддержкой многопоточности.

По какой причине нет поддержки режима демона в Windows?

Я обнаружил вышеупомянутое после получения

Invalid command 'WSGIDaemonProcess', perhaps misspelled or defined by a module not included in the server configuration

ошибка от Apache.Это не проблема с включением модуля, так как директива WSGIScriptAlias работает нормально.Я предполагаю, что ошибка, которую я получаю, связана с ограничением, описанным в вики mod_wsgi.

Ответы [ 2 ]

6 голосов
/ 20 марта 2011

Windows не предоставляет системный вызов UNIX в стиле UNIX, поэтому процесс создания, где дочерний процесс наследует образ памяти родительского процесса, невозможен.Apache / mod_wsgi требует fork ().

1 голос
/ 20 марта 2011

Для всех, кто, после прочтения ответа Грэма, хочет узнать больше о fork () в Windows, здесь есть вопросы, связанные с этой темой:

Какое самое близкое, что Windows имеет для fork ()?
замена для fork () ing?в windows.
CreateThread против fork ()
эквивалентный fork / chroot для серверного приложения Windows
Где реализована реализация Microsoft Windows 7 POSIXв настоящее время стоит?

Две интересные вещи, упомянутые в вышеупомянутых темах:

  • Interix - необязательный, полнофункциональный POSIXи подсистема среды Unix для операционных систем Microsoft на базе Windows NT.

  • реализация вилки Cygwin

Кроме того, я спросил В Interix реализована функция fork ()?

...