【问题标题】:Starting Nitrogen Web framework at boot time在启动时启动 Nitrogen Web 框架
【发布时间】:2015-12-24 22:04:08
【问题描述】:

我总是使用以下命令启动氮气作为守护进程运行:

sudo /home/someuser/myapp/bin/nitrogen start

它运作良好,但如果服务器重新启动,我必须重复相同的活动。

默认情况下,大多数 Web 服务器在启动时启动。当氮气启动时,它会启动底层的 Erlang Web 服务器。不幸的是,我没有找到任何关于在启动时启动氮气的资源。

如何在系统启动时启动氮气作为守护进程?

【问题讨论】:

标签: erlang erlang-otp yaws nitrogen erlangweb


【解决方案1】:

最简单的解决方案是使用/etc/rc.local 文件。默认为空。

由于 rc.local 以 root 身份运行,因此您可以直接使用它(但如果您希望以单独的用户身份运行 Nitrogen,请使用 su -c "command" username)很好。

无论如何,简单的解决方案是将以下内容添加到您的 rc.local 文件中:

以 root 身份运行:

/home/someuser/myapp/bin/nitrogen start

以其他用户身份运行:

su -c "/home/someuser/myapp/bin/nitrogen start" someuser

这将适当地启动 Nitrogen,并允许您使用 bin/nitrogen attach 连接到 VM。

我之前使用sudo 的建议是不够​​的,因为它不会将环境重置为您想要的用户。

我在 Ubuntu 14.04 和 linode VPS 的生产环境中使用它。

希望对你有帮助。

【讨论】:

  • 恐怕您的解决方案看起来很简单,但我不知道我做错了什么。我已经尝试了这两种选择,但都没有奏效。我是否必须对 rc.local 文件进行任何其他更改才能工作?
  • 我很好奇哪个部分不起作用:Erlang VM 是否启动?还是它启动了,但没有响应连接?您可以使用bin/nitrogen attach 附加到虚拟机吗?如果您执行ps aux | grep nitrogen 会出现什么问题吗?
  • 我意识到,在我原来的答案中,我完全忘了提到 rc.local 的位置必须是/etc/rc.local,以防万一不清楚
  • 上次发帖后运气好吗?
  • 好吧 sudo -u 选项在我的笔记本电脑上工作,但在声明之前加上“睡眠 15”。我在虚拟服务器上试了一下,还是不行。
猜你喜欢
  • 1970-01-01
  • 2012-06-24
  • 2011-02-25
  • 2021-02-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-10-21
相关资源
最近更新 更多