深入了解OTP版本发布:构建、使用与部署
1. 生产环境启动系统
在生产环境启动系统时,可设置 MIX_ENV 环境变量为对应值,示例命令如下:
$ MIX_ENV=prod elixir -S mix run --no-halt
此命令会重新编译代码及其所有依赖项,所有 .beam 文件会存储在 _build/prod 文件夹中, Mix 会确保 BEAM 实例从该文件夹加载文件。
需要注意的是,开发环境下的默认编译代码未经过优化,开发环境更注重开发便利性,这会导致代码运行效率较低。若要测试系统在高负载下的性能,应始终在生产环境中进行编译。在开发环境下进行测试可能会给出关于瓶颈的错误指示,从而浪费精力去优化在生产环境中并无问题的代码。
不过,使用 mix 和 elixir 启动系统存在一些缺点。首先,启动项目需要进行编译,这意味着系统源代码必须存在于主机上,同时还需获取并编译所有依赖项,因此需要在目标主机上安装编译所需的所有工具,包括 Erlang 、 Elixir 、 Hex 、 Mix 以及集成到 Mix 工作流中的任何第三方工具。此外,若在同一台机器上运行多个系统,协调不同系统所需的支持工具的不同版本会变
超级会员免费看
订阅专栏 解锁全文
259

被折叠的 条评论
为什么被折叠?



