koa+vue全离线环境部署攻略

最近为了对一个系统进行升级改造,使用了koa+vue的技术栈替换掉了之前性能不佳的flask。

由于某些原因,部署的网络环境与互联网是断开的,无法使用npm,且内网里没有任何nodejs相关工具,在此情况下,如何部署呢?


step1 确定部署相关需求

为了方便运维 我们需要使用pm2,PM2是node进程管理工具,可以利用它来简化很多node应用管理的繁琐任务,如性能监控、自动重启、负载均衡等,是一个非常方便的懒人工具。


为了修改代码方便,我需要能够在服务器上小改vue的代码,因此,要保证npm run dev、npm run dist等命令可用。

基于以上2点,需求大概就是:


需要在一台不能连接互联网的服务器上,使用pm2上部署koa程序,并且能在服务器上使用vue的编译开发功能。


step2 在互联网环境下载 nodejs、mongodb


这里不用多说,直接去官网上下载即可,注意一下版本啥的就OK,不过一般不会有什么大问题的。


step3 在互联网环境下运行npm install(安装node_moudles)


首先要确定你的服务器操作系统和你能联网的开发机子操作系统是否相同,由于node有一些模块是用c或者c++写的,同样的包,在windows系统和Linux系统中可能会有差异。如果服务器操作系统和开发机不一致的话,离线导入服务器后,koa很可能会无法运行。

如果操作系统相同,那么直接npm install 即可。

如果操作系统和服务器不同,那么就必须要装个和离线服务器操作系统相同的虚拟机,在虚拟机中npm install,再将虚拟机中的项目拷贝到离线服务器上。


step4 将pm2导出


根据pm2的文档,使用npm install pm2 -g就可以安装了,但是在离线环境下,这个方法显然不好使。怎么办呢?


如果服务器是Linux:在外网找台虚拟机,使用npm init 随便新建一个node项目,进入(cd)刚刚新建的node项目文件夹 输入 npm install -save pm2,这样pm2就会下载到该项目的node_moudles文件夹里面。

把这个node项目整体拷贝(pm2文件夹的相对位置不能变,貌似只能放在node_moudles下)到服务器上,就可以使用pm2了


在终端中输入: 路径/nodeProject/node_moudles/pm2/bin/pm2 即可打开pm2


如果服务器是windows:win的服务器略麻烦,首先你得找一台能上网的windows的机子,在cmd全局安装pm2(npm run pm2 -g),安装完成后,打开windows的搜索功能,搜索“pm2.cmd”,找到pm2为windows定制的cmd程序。


一般而言,pm2.cmd会默认安装在一个名为npm的文件夹下,找到后,将pm2.cmd以及它相应的依赖包一起拷贝到离线服务器上,即可在没网的服务器上用pm2了。



转载于:https://juejin.im/post/5b45c5cce51d45190f4a9252

你可能感兴趣的:(koa+vue全离线环境部署攻略)