如何用Systemd和Nginx部署Node.js应用程序?
你可以使用forever和crontab来解决问题。这篇教程提供了一个更强大,也是更复杂的解决方案。用systemd(未来在Arch、Fedora和CentOS上也可以用)网络应用程序可实现完全管理:通过控制组( cgroups)管理日志(logs), 正常运行时间(uptime), 资源(resources)和安全问题(security),高级后台程序启动可以统一访问,控制和调整.
这一教程使用一个简单的Node.js应用程序,但它适用于大多数,如果不是全部,用其他的也可以(可以是Ruby,Python等等)。对于PHP网络应用程序,建议改为使用一个更加专业的LAMP或LEMP堆栈。
Fedora和Arch都需要提供命令,一定要保持监视,以避免发生错误配置或混淆。当没有指向时,给两个系统的命令要相同。同时建议在按教程操作之前要通读整个教程,以便了解清楚它都需要什么,是否试用于你的情况。
• Nginx, 用作反向代理http和websocket服务器。 • Git, 用来安装nvm,拉取你的应用程序。 • Root 访问.也可能作为一个普通用户登录,并sudo所有的命令,或**su –或sudo su –**到一个根提示符。
Fedora:
Fedora:
然后记录下node二进制文件安装的位置
对于这篇教程,用的是下面的实例应用程序:
然后返回到根目录:
这篇教程仅简单介绍必要的配置,想要了解关于配置Nginx更详细的内容,可以查看“如何配置Nginx网络服务器”或nginx手册。
将下面内容放到你的server block:
然后建立它的后台程序:
[Install] WantedBy=multi-user.target
现在开启该服务:
强制重启:
停止应用程序
如果应用程序崩溃或结束,它将会自动重启:
PID已经变了,表示应用程序确实被结束并重启。
并且Nginx需要重新加载:
回复 (2)
文章不错, 看下 GFM 改进一些文章标记吧 :) http://github.github.com/github-flavored-markdown/