离线服务器部署mongodb数据库外加koa2项目
着手部署公司的一个大数据可视化的项目,开始时候后端没有空,所以自己写了一些接口,填了一些数据。都是在本地进行的,最后说要部署到服务器了,而且还是内网服务器,一些包都得直接先下好上传。
开始爬山:
mongodb部署
下载一个mongodb的包 链接: mongodb下载地址
注意要和服务器系统对应的包,我是linux系统,所以下了mongodb-linux-x86_64-3.2.9,
开始用了4.几,然后高版本的mongodb 需要某个软件启动的插件版本达到18,可能你服务器没有会报错 ,换了3.几就好了。
mongodb 如何布置网上一大堆不再赘叙。主要一个地方是一些命令部署到全局环境,
设置软连接(举个例子) ln -s /home/mongo/bin/mongo /usr/local/bin/mongo
然后看公司服务器怎么管理,我这个服务器问了后端,还要
cp /etc/node.sh /etc/xx.sh 拷贝一份
然后
vim /etc/profile 里面引入
source /etc/profile使其生效
不太清楚什么意思,反正我这台服务器需要这一步
如果设置软连接就可以全局使用命令就不需要这一步了。
本地数据库导出数据放到远程服务器
【多条导出(备份)】
mongodump -h 127.0.0.1 -d 数据库名 -o C:\Users\dell\Desktop\新建文件夹
【导入(恢复)】在本地运行即可
mongorestore.exe -h ip:端口 -d 数据库名 -directoryperdb C:\Users\dell\Desktop\新建文件夹\dataV
可能你的服务器还需要开端口什么的,我这里的服务器端口全开的,公司内网管理。然后mongodump,mongorestore.exe我这里已经设置了全局路径,window系统下相信都可以查到怎么设置全局路径。
最后在服务器上 操作mongodb数据库,命令可以查到资料很多, show db 看到会多一个数据库,就是你传上去的。改一下数据库名称命令如下
db.copyDatabase('old_name', 'new_name'); //拷贝库
use 'old_name' //进入老苦
db.dropDatabase(); //删除老库
MongoDBCompass.exe 可视化工具可以连接看一下。
说到这里我之前遇到过连接不上,可能是因为服务器的防火墙。因为我买的自己的服务器,就是用来玩一下,所以直接关了服务器的防火墙就连上了。
node部署
老步骤:下载一个包,版本上面我用的10.几和14.几,貌似没出现什么奇怪的问题。
然后配置全局路径和mongo配置一样
我遇到的报错:npm-cli.js缺少
注意点是 直接把压缩包放linux服务器上面解压,windows系统解压再放上去就报这个错误
linux和windows系统在解压上面可能会有差异
pm2部署
这个网上搜到的,很多是在一台有外网的电脑上面全局安装pm2,再找到pm2,再打包再上传服务器,步骤基本是对的,就是那个pm2路径上的文件是隐藏文件 要在左上角查看,里面最右边选项进入,然后点查看tab栏,里面有个隐藏受系统保护的文件,把它去掉。就可以找到需要的文件。然后本地打包一份pm2。再上传服务器解压,配置全局路径。
然后把koa项目搬上服务器
pm2 运行 koa项目
到这里就结束了记录,可能不是特别详细,因为东西有点多,网上容易找到的都省略了。只是记录了主要方向,有问题可以提问,看到尽量解决,勿喷。要补充的话可以留言补充。感觉离线服务器部署资料有点难找,所以记录了一下,希望有帮助。