将npm配置为在Mac OS X的后台启动

时间:2017-12-10 23:11:37

标签: node.js macos apache npm

描述

我在 Mac OS X

现在,我在本地有近10个 Laravel / LAMP 项目,我使用配置了 Apache 的vhost运行。关于它们的可怕部分是即使我重新启动Mac或在网络之间移动,甚至关闭我的项目的终端app / tab,Apache仍然在运行,所有我的本地站点仍然可以访问

目标

现在,我希望使用我的MEAN应用程序执行相同的操作。 如何配置这样的东西?

我们说我有3个MEAN应用程序。

示例

App1的

App2的

App3的

我现在正在寻求任何建议。

我们可以配置npm在后台启动吗?

BE / API

enter image description here

FE

enter image description here

2 个答案:

答案 0 :(得分:2)

您可以使用macOS' launchd在后​​台运行服务。有一些很好的GUI应用程序可以更容易地创建启动服务:

  • LaunchControl($ 10)
  • Lingon(10美元) - 如果你和Lingon一起去,从Mac App Store获取官方网站上的Lingon X 5而不是Lingon 3; Lingon X 5更强大,因为它不受Apple的沙盒限制。

还有launched.zerowidth.com,这是一个用于创建.plist使用的launchd文件的互动式在线工具。

如果您想手动设置它们,

launchd.info也是一个很好的资源。 Apple's documentation也可用。

如果您遇到命令无效的问题,建议您尝试以下问题排查步骤:

  • 转换所有命令以使用绝对路径(例如npm - > /usr/local/bin/npm)。您可以通过运行带有命令名称的which来找到命令的绝对路径(例如which npm
  • 使用/bin/bash -c(例如/bin/bash -c "/usr/local/bin/npm start"
  • 在bash中运行您的命令

答案 1 :(得分:1)

您可以做的一件事是 dockerize 您的应用程序。

使用 docker ,您可以在计算机中名为 containers 轻量级虚拟机中运行应用程序。

这有一些优点,例如,您可以在虚拟机中使用端口80 运行您的应用程序,并向您的计算机公开另一个端口。您可以启动或停止容器等等。

转到https://www.docker.com/what-docker了解详情。