Я хотел бы разработать и развернуть приложение Erlang/OTP для создания на VPS.
Я хорошо знаком с разработкой кода Erlang на локальном компьютере, и мой вопрос касается развертывания.
В принципе, я хотел бы знать, какие шаги я должен предпринять, чтобы переместить код Erlang с локальной машины на производственный сервер и заставить его работать, то есть быть доступным для пользователей.
Примечание. Я прочитал некоторую документацию о Erlang и командной строке, Erlang code, Erlang релизы, но я до сих пор не уверен, как выполнить требуемую задачу.
Однако я полагаю, что развертывание программного обеспечения на сервере Erlang немного сложнее, чем выполнение sudo tasksel
для LAMP.
Я планирую иметь приложение Erlang/OTP, которое имеет Mochiweb, CouchDB (couchbeam) и boss_db в качестве зависимостей.
Итак, мои новички задаются вопросом о развертывании всего этого на производственном сервере:
- Я планирую использовать Ubuntu Server 12.04; есть ли лучший выбор для дистрибутива Linux для использования в Erlang/OTP в производстве?
- Как весь код должен быть организован? Должен ли я помещать свое приложение в /home/myapp/dir, а затем помещать все зависимости в /home/myapp/deps? Или я должен поместить все зависимости в /usr/local/lib/erlang/lib? (возвращается кодом: get_path()). Должен ли я каким-либо образом регулярно обновлять зависимости, или я должен их заморозить?
- Как запустить все приложение сразу после запуска сервера? Должно ли это быть какой-то bash script или что-нибудь еще?
- Я знаю, что Erlang позволяет обновлять горячие коды, но как мне это организовать? В Rails я мог обновить код с помощью git, что-то подобное существует в мире Erlang?