Я бы предпочел, чтобы мое веб-приложение Mavericks использовало сокет домена UNIX вместо TCP-порта для реализации обратного прокси-сервера. Я пытался использовать варианты синтаксиса Apache для UDS в proxies
разделе списка веб-приложений, но ничто из того, что я пробовал, не понравилось OS X Server.
Проксирование к gunicorn через TCP-порт 8001, похоже, работает в приведенном ниже коде, но я бы предпочел использовать сокеты, если могу, - мои приложения будут отделены от приложений серверов OS X.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>name</key>
<string>com.iainhouston.django</string>
<key>displayName</key> <!-- Name shown in Server app -->
<string>TDD Django test at /django</string>
<key>installationIndicatorFilePath</key> <!-- The presence of this file indicates web app is installed -->
<string>/usr/local/python_projects/testwsgi3/hello.py</string>
<key>requiredModuleNames</key>
<array>
<string>proxy_module</string>
</array>
<key>proxies</key>
<dict>
<key>/django</key>
<dict>
<key>path</key>
<string>/django</string>
<key>urls</key>
<array>
<string>http://localhost:8001</string>
</array>
</dict>
</dict>
</dict>
</plist>
[Обновление: фактический код опубликован выше]
Если вы пробовали это, я был бы благодарен узнать, как вы справились.
Кажется, что ответ - Нет , поскольку сервер OS X (3.2.1 на сегодняшний день) поставляется с Apache 2.2, и из документов Apache mod_proxy кажется, что поддержка UDS не была реализована в этом выпуске. Я читал документы более поздней версии.
Не желая перекомпилировать Apache на нашем производственном сервере, мне придется довольствоваться TCP-портами — не проблема.