Запуск приложения Erlang на сервере Windows
У меня есть приложение Erlang, развернутое на сервере с Windows Server 2008.
Как я это делаю:
- скопируйте папку приложения в каталог Erlanglib .
- Откройте командную строку (cmd). Выполнить erl .
- выполнить приложение:start(app_name) в оболочке Erlang.
Есть ли более эффективные подходы для запуска приложения? Как сделать так, чтобы приложение запускалось при запуске Windows?
3 ответа:
У меня нет опыта работы с Windows, но...
`1. Прежде всего, вы можете взглянуть на концепцию release в Erlang. По существу,
Когда мы написали одно или несколько приложений, мы можем захотеть создать полную систему, состоящую из этих приложений и подмножества приложений Erlang/OTP. Это называется освобождением.
`2. Затем вы можете создать скрипт, содержащий что-то вроде:
erl -boot ch_rel-1
Где по сути, вы запускаете Erlang/OTP с помощью сценария загрузки, созданного выше (просто следуйте инструкциям на странице releases)
`3. В этой статье объясняется, как создать сценарии запуска в Windows Server 2008 (не тестировался, просто погуглил):
Http://technet.microsoft.com/en-us/magazine/dd630947.aspx
Надеюсь, это поможет. Щекотливый вопрос.
После ознакомления с релизами, взгляните на страницы руководства (erl-man) для start_erl и erlsrv. Я использовал их для запуска встроенной системы (http://www.erlang.org/doc/embedded/embedded_nt.html ) в windows 2003, надеюсь, что он все еще работает для вас в windows 2008. После создания сервиса с помощью erlsrv можно управлять им с помощью стандартных инструментов командной строки и графического интерфейса windows, например, устанавливая режим запуска и политику перезапуска.
Может быть, вы могли бы начать только ваше приложение с поставляя "- s app_name " в качестве дополнительного флага erl/start_erl, но я не пытался этого сделать, так как мне пришлось пройти долгий путь со встроенным системным релизом. В этом случае убедитесь, что у вас есть " start () - > application: start (?МОДУЛЬ)."в вашем" имени приложения.Эрл".