系统启动时启动Phoniex应用

Gao

服务启动时启动 OTP 应用

出现问题

把 Phoenix 应用发布为 erlang otp 应用,设置开机启动,在 /etc/rc.local 中添加了 启动

重启后发现服务没有启动

排查过程

  1. 增加打印输出 将服务启动时的输出打印,发现服务启动成功,$? 返回为 0
  2. 尝试延迟启动 猜测是否因为有服务没有启动导致,修改 rc.local 延迟 15 秒后启动 ,无效
  3. 修改启动方式 将启动方式修改为 foreground ,发现运行过程中出现错误
erlexec: HOME must be set

原来是启动时需要有HOME环境变量被配置

解决方式

rc.local 中启动时设置环境变量 HOME