最近弄了许久的个人博客终于上线了,由于是第一次弄,又是前端,所以对项目部署不太熟悉,踩了许多坑,分享出来希望新手们能不用像我一样浪费时间
前置准备
1.自己的服务器(我用的是阿里云的服务器,学生证可以免费领取半年好像) 2.前端打包好的项目(vue终端npm run build得到的dist文件夹里面的东西) 3.后端项目(我用的node express框架) 4.数据库mongodb
第一步:阿里云服务器相关配置
这里默认你已经购买了服务器,你需要进入你自己的云服务器,图中标注的公网ip你要记住,这是你的域名,需要用到
进入安全组
授权你的端口,这里的端口名要和你的项目端口名一样 比如vue3的默认端口5173,你就要授权一个5173端口 node接口端1234,你就要授权一个1234 还有数据库连接的端口总共3个要配置好
第二步:连接远程数据库,登录宝塔
参照鱼皮大佬www.bilibili.com/video/BV1rU… 这里我用的是FinalShell来连接,具体的操作视频里已经将的很清楚了
第三步 将node项目部署
视频中鱼皮大佬教我们怎么部署前端的,但是后端和数据库的并没有说,只能自力更生了。 在前端部署的目录中再新增一个文件夹用于存放后端 web是前端 server是后端 将你的node项目放入server文件夹,注意node_modules文件夹不需要 复制完成后进入文件夹打开终端npm i就行,要不然很久
宝塔的软件商店中下载pm2,进入设置 输入你的启动文件,一般是app.js 设置好后你的后端项目就部署好了
是否成功可以在pm2的运行日志中查看,或者用postman测试一下,域名就是你的云服务器,端口就是你的后端暴露端口,记得在安全组设置
第四步 数据库配置
宝塔商店中下载mongodb 在设置中配置你的连接端口
这样总体流程就走通了 但是这里我们的数据库是任何人都能连接的,也就是知道了你的ip就能连上操作,所以我们要给它配置权限密码 首先在配置文件中将这两项改为enabled 和 true允许数据库校验
在finalshell中连接数据库 输入命令 mongo mongodb://你的公网ip:27017 输入use admin命令进入admin数据库 创建用户的命令: db.createUser({user: "root",pwd: "password", roles: [ { role: "root", db: "admin" } ]}) user: 是你连接数据库要用到的用户名 password: 是你连接数据库要用到的密码 这是创建用户的步骤 但是有时候我们的数据库不叫admin,比如说叫test 那就use test db.createUser({user: "用户名",pwd: "密码", roles: [ { role: "userAdminAnyDatabase", db: "test" } ]}) 这样别人连接我们的数据库就需要校验了 验证一下 打开mongodb compass 直接连接
发现需要验证 那我们连接是格式是什么呢? mongodb://用户名:密码@ip:27017/数据库名字+'?authSource=数据库名字'
连接成功! 注意node项目的连接数据库代码也要改一下 以上!
这是我的博客 http://47.95.203.205/#/index 请大家多多来玩,互相githu点star也好噢~