我只是想一直运行Angular直到我手动将其杀死,所以我只是使用以下命令将其作为服务在linux框中运行
nohup ng serve --host {xyz.com} &
它将使应用程序启动并运行,并创建了nohup.out文件,但是一旦腻子超时,会话就消失了。
有人可以带领我实现这一目标吗?
答案 0 :(得分:1)
您不应该在生产中使用ng serve,您需要做的是构建Angular App,并在真实的服务器(例如nginx或apache)中使用类似proxy_pass
的东西来告诉它为您的Angular服务静态应用文件(index.html + js捆绑包)
在服务器上运行ng serve
的应用会给您带来很大的风险,因为后面的HTTP服务器并不安全!
答案 1 :(得分:0)
最好使用像systemd这样的生产就绪工具来运行您的nodejs应用程序-本手册可以帮助您:
https://nodesource.com/blog/running-your-node-js-app-with-systemd-part-1/
对于您而言,如果您的ng应用保存在/opt/app
目录中,则单位文件将是这样的
[Unit]
Description=hello_env.js - making your environment variables rad
Documentation=https://example.com
After=network.target
[Service]
Environment=NODE_PORT=3001
Type=simple
User=ubuntu
Workdir=/opt/app
ExecStart=/usr/bin/node /opt/app/.bin/ng serve --host {xyz.com}
Restart=on-failure
[Install]
WantedBy=multi-user.target
在第二部分(https://nodesource.com/blog/running-your-node-js-app-with-systemd-part-2/)中,他们解释了如何启动几个应用程序实例,并在它们前面使用nginx作为负载均衡器和具有HTTPS支持的反向代理。