将项目启动到云/生产(Node.js + Vue.js)

问题描述 投票:1回答:1

不久前,我开始使用Node.js后端和Vue.js前端的项目。在开发中执行我的项目时,我从未遇到任何困难。

我知道使用Vue.js可以生成dist文件夹,但是我不知道如何使用它。

现在,我正在尝试用我的项目创建一个docker映像,我对其结构的工作方式感到怀疑,我应该为后端创建一个映像,为前端创建一个映像,即使它有可能建议这样做吗?我打算使用docker映像在Google Cloud上启动该项目。

我对数据库的问题也存有疑问,它是否也应该在同一个docker映像中,还是应该将其与后端分开?

This is my project structure

mysql node.js vue.js production-environment
1个回答
0
投票

取决于您的预期流量。如果您期望更高的负载,则水平缩放建议将它们放置在单独的图像中,因为这样您可以分别缩放前端和后端。

前端

无论是否使用CI / CD,在构建前端映像时,您都希望在前端周围使用Web服务器,这里有一些选项,选择您最知名的(Apache httpd或Nginx ...等)。确保如果您正在使用vue-router,则将您的重写配置为将所有内容发送到index.html,否则路由将无法工作。要在dockerfile中完成操作,请将dist输出复制到html根目录。

数据库

关于数据库,将其放在相同的容器中意味着,如果后端或前端由于某种原因而失败,那么数据库也会崩溃。不要那样做

将其包含在同一张图片中但可以作为单独的容器运行可能会起作用,尽管要做到这一点可能很繁琐,但我实在看不出老实点。只需使用专用的数据库映像并将其单独部署即可。

© www.soinside.com 2019 - 2024. All rights reserved.