Как разместить сайт Happstack? - PullRequest
0 голосов
/ 27 июня 2018

Я создал сайт с использованием Happstack, но у меня нет опыта хостинга. Все, что я нашел в Интернете, было либо устаревшим, либо слишком сложным для меня. Есть ли простой способ или учебник, которым я могу следовать, чтобы опубликовать свой сайт Happstack?

Спасибо

Ответы [ 2 ]

0 голосов
/ 01 июня 2019

Спасибо всем, кто ответил. В итоге я использовал образ докера рядом с герою для развертывания. Если вы хотите посмотреть, как выглядит файл Docker, отметьте https://github.com/hpbl/haskellkoans

0 голосов
/ 07 августа 2018

Вот краткий обзор процесса хостинга, за которым я следил, чтобы сайт работал с использованием серверного программного обеспечения Haskell.

Получить сервер

Первое, что вам нужно для хостинга, это устройство для запуска серверного кода.

Вы можете арендовать «виртуальный компьютер» у компании. (виртуальный частный сервер или VPS) или вы можете использовать компьютер, который у вас лежит о доме.

Виртуальный частный сервер

Выберите поставщика VPS из огромного числа компаний, которые предлагают это вид обслуживания. Поставщик должен позволить вам установить программное обеспечение на VPS и прикрепить к нему статический IP-адрес. Я использовал AWS Lightsail и Cloud9 в прошлом.

Как только вы определились с провайдером, вам нужно подписаться на план. Здесь важно выбрать операционную систему, на которую можно установить стек. Вы также должны выбрать достаточно оперативной памяти, места для хранения и тактовой частоты, чтобы стек для работы без проблем.

Когда ваш VPS готов к использованию, подключите к нему статический IP-адрес, а затем установить стек на него.

Если вы сделали все это, вы можете игнорировать раздел «Домашний сервер» и прыгайте прямо к «Настройте Happstack»

Домашний сервер

Статический IP (домашняя сеть)

Ваш домашний маршрутизатор назначит фиксированный IP-адрес устройству, которое вы собираетесь использовать как сервер. Обратите внимание, что это относится только к вашей домашней сети.

Способ заставить эту работу сильно различаться в разных операционных системах. Вам лучше запустить поиск в сети для шагов, специфичных для вашей ОС.

Переадресация портов

На странице настроек вашего домашнего роутера должен быть раздел «Переадресация портов». или что-то подобное.

Цель - переадресовать все соединения, сделанные на порт 80 вашего домашнего маршрутизатора, на порт вашего устройства, на котором вы настроили happstack для прослушивания. IP-адрес, на который вы хотите перенаправить его, будет фиксированным IP-адресом. вашего устройства.

Опять же, процесс несколько отличается в зависимости от производителя вашего маршрутизатора. Вы всегда можете посмотреть шаги для переадресации портов на маршрутизаторе конкретной марки и модели.

Статический IP (Интернет)

Обратитесь к вашему интернет-провайдеру, чтобы получить фиксированный IP-адрес для вашего роутер в интернете.

Настроить Happstack

Предположим, вы хотите запустить happstack на порту 81 вашего устройства.

Выполните следующие шаги:

  1. stack new happstack-hosting

  2. Добавить happstack-server в список зависимостей внутри проекта файл package.yaml.

  3. Поместите следующий код в файл приложения app / Main.hs проекта

    module Main where
    
    import Happstack.Server (nullConf, simpleHTTP, toResponse, ok, port)
    
    main :: IO ()
    main = simpleHTTP (nullConf { port = 81 }) $ ok "Hello, World!"
    
  4. Выполнить stack build

  5. Выполнить sudo stack exec happstack-hosting --allow-different-user

Конечно, вам придется заменить этот Main.hs своим собственным кодом сервера, как только вы подтвердите, что можете получить доступ к веб-сайту из Интернета.

Использовать доменное имя

Получить доменное имя от регистратора. Я уже использовал Google Domains, Namecheap и GoDaddy, но есть много других.

Если вы используете VPS, следуйте инструкциям вашего регистратора, чтобы перенаправить доменное имя на порт 81 IP-адреса вашего VPS.

В противном случае перенаправить имя домена на порт 80 статического IP-адреса вашего маршрутизатора.

...