问题描述
我正在尝试将包含多个项目/网站的 Angular SSR(服务器端渲染)应用程序部署到 Digital Ocean Droplet。我的问题是,当我部署时,每个项目/网站都应该运行自己的 nodejs 服务器还是我可以只启动一个 nodejs 服务器并仅部署 dist/project 文件夹?所以基本上一台 nodejs 服务器正在运行所有项目(当然在它们自己的端口上)。
基本上,只运行一个 nodejs 服务器会很好,我可以通过 sftp 我的 dist/项目进行任何更新。
解决方法
所以我发现你可以只推送 dist 文件夹,关键是使用反向代理指向每个项目的 server.js 文件。我遵循了本教程:
,我在执行此任务时也遇到了问题,但是使用 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
然后继续这个过程,应用程序将被自动部署!