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