【问题标题】:The Angular session is killed after the putty session timeout在腻子会话超时后,Angular 会话被终止
【发布时间】:2019-12-30 16:06:47
【问题描述】:

我只想让 Angular 永远运行,直到我手动杀死它所以我只是使用下面的命令在 linux 框中将它作为服务运行

 nohup ng serve --host {xyz.com} &

它将使应用程序启动并运行并创建 nohup.out 文件,但是一旦腻子超时,会话就会消失。

谁能带领我实现这个目标?

【问题讨论】:

    标签: node.js angular linux angular-cli


    【解决方案1】:

    您不应该在生产中使用 ng serve,您需要做的是构建您的 Angular 应用程序并在真实服务器(如 nginx 或 apache)中使用类似 proxy_pass 的东西来告诉它为您的 Angular 静态应用程序提供服务文件(index.html + js 包)

    在服务器上运行带有ng serve 的应用程序会冒很大的风险,因为它背后的 http 服务器不安全!

    【讨论】:

    【解决方案2】:

    使用 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 的反向代理

    【讨论】:

    • 安全问题!! ng serve 正在运行一个不安全的简单 http 服务器!!!
    • 如果您进一步阅读,您会发现他们如何使用 nginx 作为负载均衡器和启用 HTTPS 的反向代理,所以我认为您的评论无关
    • 这对我帮助很大。谢谢你。我还将研究如何启用 HTTPS 协议。赞成并接受的答案。再次感谢及时回复。
    • 我说过一次,但我再重复一遍,你不应该将 ng serve 用于生产!!!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-01-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-19
    • 1970-01-01
    相关资源
    最近更新 更多