将多个 Angular SSR 应用程序部署到 Digital Ocean Droplet 的最佳方法是什么?

问题描述

我正在尝试将包含多个项目/网站的 Angular SSR(服务器端渲染)应用程序部署到 Digital Ocean Droplet。我的问题是,当我部署时,每个项目/网站都应该运行自己的 nodejs 服务器还是我可以只启动一个 nodejs 服务器并仅部署 dist/project 文件夹?所以基本上一台 nodejs 服务器正在运行所有项目(当然在它们自己的端口上)。

基本上,只运行一个 nodejs 服务器会很好,我可以通过 sftp 我的 dist/项目进行任何更新。

解决方法

所以我发现你可以只推送 dist 文件夹,关键是使用反向代理指向每个项目的 server.js 文件。我遵循了本教程:

https://www.digitalocean.com/community/tutorials/how-to-set-up-a-node-js-application-for-production-on-ubuntu-20-04

,

我在执行此任务时也遇到了问题,但是使用 DigitalOcean Apps,您可以在几分钟内通过几个步骤进行部署。 你只需要修改你的 package.json 文件并推送 Git 就完成了!

下一步:

1.在您的 package.json 文件中,替换:

这两行

"start": "ng serve","build": "ng build",

"start": "npm run serve:ssr","build": "npm run build:ssr",

2.推送 Git 3. 在 DigitalOcean Apps 中,选择第 2 步中Web Service 应用程序的类型,并更新:

构建命令

npm run build:ssr

运行命令

npm run serve:ssr

然后继续这个过程,应用程序将被自动部署!

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...