饭宝 发表于 2024-9-8 00:41:53

从零部署Vue+Node+MongoDB到服务器



一、前言

        最近在阿b学了解了一下全栈开辟,用 Vue3+ElementPuls+Express+MongoDB 做了一个项目,为了有一个本身的网站,于是又了解了如何部署。经过网上一番搜索和本身的一顿操作后,也是终于捣鼓好了,在这里记录一下部署过程,方便以后查阅,也给没有部署经验的前端友友们一个参考。

参考资料:
        禹神:前端项目部署指南,前端项目打包上线_哔哩哔哩_bilibili
        禹神:一小时彻底搞懂跨域&解决方案_哔哩哔哩_bilibili
二、环境

        腾讯云服务器(轻量应用服务器)
        Vue3
        Node(Express框架)
        跨域(Cors)
三、部署

        在这里就不讲服务器如何购买了,前言参考资料 中有详细解说,这里只解说服务器的一些设置。
1、服务器体系安装

        这里演示重装体系如何操作,刚购买服务器时就直接选使用应用模板 ==> 宝塔Linux面板
https://i-blog.csdnimg.cn/direct/f922bef4f5804f36b67acb658cf0402c.png
                
https://i-blog.csdnimg.cn/direct/e9e7e67873734d27b0654752fe121bce.png
  
        选好后往下滑,设置好暗码,点击确定
https://i-blog.csdnimg.cn/direct/143a16c7b92f4ec3b5ae30ad6b3157e8.png
         重装或购买后体系安装完成是这个样子
https://i-blog.csdnimg.cn/direct/9f4e96319923466791c6bcd7ba3357b2.png
2、服务器设置

        点击防火墙 ==> 添加规则,添加放行端口规则,80端口默认已添加
        主要是为了添加 前端(80)、后端(3000)、数据库(27017) 和 宝塔面板(8888) 的放行端口。
https://i-blog.csdnimg.cn/direct/74e2979f20c24290982b5ae623507f57.png
https://i-blog.csdnimg.cn/direct/d5d316eefaba44d88df03e5455e4986e.png
 3、宝塔账密获取

https://i-blog.csdnimg.cn/direct/b1503b5844044f3582417748527de5ef.png

https://i-blog.csdnimg.cn/direct/3a02832d8f4e4bf682056509d27eb9b3.png
4、宝塔登录 

        点击外网面板地点,输入账号暗码登录宝塔
https://i-blog.csdnimg.cn/direct/d1e7dd727ee645b1892ed22bf62e111f.png
https://i-blog.csdnimg.cn/direct/fec1610a02f545899d03b75b159aa0d6.png
https://i-blog.csdnimg.cn/direct/f4c04721be0f4c6da96da885fa551467.png
5、宝塔软件安装 

        安装Node、MongoDB、Nginx
https://i-blog.csdnimg.cn/direct/2a1378de9ec64686809eb4b4f3445f50.pnghttps://i-blog.csdnimg.cn/direct/c330717ddcda466fb7e00c07df5680a6.png 
6、文件夹准备 

https://i-blog.csdnimg.cn/direct/7b4fd8128bfc46b78bc2a0558fd108b4.png https://i-blog.csdnimg.cn/direct/5ba8ed4ddd2f4961aea4b14feaf2b6df.png

7、后端文件上传

        由于用的是 cors 解决跨域,后端上传文件前,先安装好 cors 插件。
npm i cors https://i-blog.csdnimg.cn/direct/75297b1b65da43e4ad86791159be7fe4.png
         确认后端监听端口,我这里是 3000,记住本身的监听端口就行
https://i-blog.csdnimg.cn/direct/0c51a6f4a13040f0a718e56a3ca4edd4.png

8、后端部署 

https://i-blog.csdnimg.cn/direct/1d903ff6c1ae4224b89547333d041556.pnghttps://i-blog.csdnimg.cn/direct/744fa0053e794cd986c543fd7dbf373c.png 
https://i-blog.csdnimg.cn/direct/3b52b96cb3a74da3864230be4c2b29c0.png https://i-blog.csdnimg.cn/direct/ed3893bf0f9745b48da6cc7af5dab99f.png
 9、前端文件上传

        前端打包前修改 axios 的请求设置,将基地点改为刚刚部署的后端接口地点
https://i-blog.csdnimg.cn/direct/553a08e530924c59beeb72f4ad122773.png
         我把前端署理给注释掉了,用的 cors 解决跨域,原因是试过好几次用宝塔的 nginx 设置署理出现页面的图片请求不表现的问题,索性用 cors 解决,后面会详细解说 cors 设置。
https://i-blog.csdnimg.cn/direct/0fb1b12d6ab240e09fd8e3ca50db024a.png
https://i-blog.csdnimg.cn/direct/e8736ada99dc4f21ae0329316bb749e2.png
        打包后会天生一个 dist 文件夹,只用将 dist 拖拽上传即可。
https://i-blog.csdnimg.cn/direct/91e8ef0cc37446bc9b8ef0e5aa60d25c.png
10、前端部署 

 https://i-blog.csdnimg.cn/direct/0096439c5d9242419643e5d781bdc6db.png
        只用输入本身的公网ip即可访问,这边是路由重定向进入了 /webhome。 
https://i-blog.csdnimg.cn/direct/817141d399104a2f9c6f7944b3fb87db.png
 11、nginx -- 革新页面404问题

https://i-blog.csdnimg.cn/direct/1ef693a0175b457ea284fd2221a81415.png
         打开设置,设置文件,添加 nginx 设置
https://i-blog.csdnimg.cn/direct/7a4f957d34ca41de84dc3c096fb38928.png
         这里有可能打开是空的,就需要卸载 nginx ,重新安装,大概换低一点的版本。
https://i-blog.csdnimg.cn/direct/1b9aa8da035a4f1795e54c118bd12241.png 

         添加后革新就不会 404 了
location / {
    try_files $uri $uri/ /index.html;
} 12、数据库设置

        数据库名肯定要与本地数据库同名 !!!
        数据库名肯定要与本地数据库同名 !!!
        数据库名肯定要与本地数据库同名 !!!
https://i-blog.csdnimg.cn/direct/b5e1d502bf31429f9d49a605f7b5eff5.png
13、cors -- 跨域问题解决

        双击打开 app.js 
https://i-blog.csdnimg.cn/direct/9da7485e103d4e0c9463f2e1c17a36fd.png
         设置 cors ,详细设置请看 前言参考资料,cors 使用在路由之前。
https://i-blog.csdnimg.cn/direct/96f68ba936fd443eaea0ef1f9d27211f.png
const cors = require('cors');

const corsOptions = {
origin:'http://公网ip',// 允许访问的源
methods: ['GET','HEAD','PUT','PATCH','POST','DELETE','OPTIONS'],// 方法
}
app.use(cors(corsOptions))         设置好后 Ctrl + S 保存,重启后端项目即可,如许前端就可以向后端发送请求了。 
四、 增补 --- 宝塔防火墙设置

https://i-blog.csdnimg.cn/direct/e34a983f1a704104b34a5685f0fb44e2.png



免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 从零部署Vue+Node+MongoDB到服务器