一些现代基础设施组件,如Yaws和CouchDB,可以安装在Ubuntu上
sudo apt-get install
然后可以用
开始 {service_name} start
或只是{service_name}
我想知道这种方法与Erlang / OTP方式之间是否存在任何差异,即将OTP release
上传到生产服务器,然后使用钢筋生成的脚本启动它。
什么是行业标准?安装/启动基于存储库的二进制文件或上传/启动钢筋生成的版本?
此外,基于存储库的二进制文件是否具有所有OTP功能,例如OTP应用程序结构,监督以及通过控制台连接到实时应用程序的选项?
答案 0 :(得分:2)
每次,你正在开始erlang,你正在开始发布。即使如果您只在终端中输入erl
,它也会运行一个版本(您可以在.boot
中找到.rel
,.script
和erlang_rootdir/releases/name_of_release
个文件。
我认为这回答了你的最后一个问题:从存储库安装的软件包仍然具有OTP结构,监督和所有好处。只有几个bash脚本,使得启动和停止它们对于曾经service_name start
的人更友好。您还应该能够找到类似于钢筋生成的脚本。
检查,这些文件在哪里,只需cat
。你应该看到,他们只是开始发布Erlang。
对于包管理器来说,唯一不能做的就是热代码升级。大多数包管理器只是停止正在运行的应用程序,安装新版本并重新启动它。在Erlang中,您可以升级运行版本,但这是非常高级的东西。除此之外 - 使用OS软件包没有任何缺点。