Каков рекомендуемый способ развертывания Yesod?

Я нахожусь на общем веб-сервере, и у меня установлен apache2 локально, поэтому я могу настроить его так, как мне нужно. Каков наиболее поддерживаемый способ развертывания приложения Yesod? Я могу настроить apache2 как прокси-сервер для Warp. Будет ли это лучшей настройкой? Или я должен просто пойти с FastCGI?

Я также хотел бы получить подробную информацию о том, как настроить все. Я имею в виду, как написать обработчик запроса, если он мне нужен, что должен выглядеть apache VirtualHost и т.д., Потому что я новичок в Yesod.

Ответ 1

Согласно Yesod Book, Warp с обратным прокси-сервером - рекомендуемый подход, но различные другие варианты развертывания также описаны подробно есть.

Ответ 2

Keter действительно прост в использовании. На странице GitHub имеется дополнительная документация. Он предназначен для Yesod, а двоичный файл yesod поддерживает его, поскольку вы можете запустить yesod keter для создания вложенной версии вашего приложения, которое вы входите в /opt/keter/incoming для упрощения обновлений.

Keter сидит в самом переднем конце, поэтому вам не нужны Apache или nginx; он может обрабатывать SSL для https.

Если вам нужен более полнофункциональный сервер для конечных пользователей, кажется, что плохая идея запускать Apache или nginx перед Keter, и лучше всего перенаправить HTTP-прокси прямо в двоичный файл Yesod. Просто запустите приложение в каком-то демона (systemd или upstart), указав номер порта в командной строке

MyApplication Development -p 3000

а затем установите Apache для обратного прокси-сервера до 3000 при сопоставлении подключений.