一、场景

客户公司使用内网,不可访问外网,意味着部署整个nodejs项目到客户的服务器的这个过程,不可以使用npm install命令安装资源。客户的服务器系统是linux64位,需要使用pm2监控工具。

二、解决思路

所有使用的资源在有网络的条件下,提前准备好,一次性上传到客户的服务器,要准备的资源包括:nodejs安装包和nodejs项目包。准备的重点是pm2安装包。

三、安装过程

2.1 nodejs安装包准备

2.1.1下载和安装

到nodejs官网选择linux64位的安装包(注意:x86表示32位,x64表示64位),下载完之后,把安装包上传到自己的linux系统(使用虚拟机),到目录下通过 

tar -xzvf linux_x64.tar.gz 

解压安装包(“linux_x64.tar.gz ”是具体的包名 )。

2.1.2全局使用node和npm命令

ln -s /data/nodejs_x64/lib/node_modules/npm/bin/npm-cli.js /usr/local/bin/npm

ln -s /data/nodejs_x64/bin/node /usr/local/bin/node

-s后面的lib前面的路径是刚才解压出来的包所在的绝对路径

通过 node -v 和npm -v可以查看是否安装成功

2.1.3安装pm2

命令行输入

npm i pm2 -g

这时linux系统下的pm2安装包就在整个nodejs安装包里面了,在/data/nodejs_x64/bin中能看到pm2的文件,在/data/nodejs_x64/lib/node_modules能看到pm2的资源文件。要全局安装使用pm2,使用命令

ln -s /data/nodejs_x64/bin/pm2 /usr/local/bin/pm2

2.2离线安装

将上面准备好的安装包,传到客户的系统上,走一遍以上的步骤(除了npm i pm2 -g外)即可成功地安装上去。

特殊情况:

在离线安装中,有可能遇到登录用户没有设置/usr/local的软链接的权限,这时用上述的操作并不能安装成功,这时改写PATH可以解决实现。

export PATH="$PATH:/.../bin"

上面的命令中,/bin前面的“...”用nodejs安装包所在的路径替换掉。

GitHub 加速计划 / li / linux-dash
10.39 K
1.2 K
下载
A beautiful web dashboard for Linux
最近提交(Master分支:2 个月前 )
186a802e added ecosystem file for PM2 4 年前
5def40a3 Add host customization support for the NodeJS version 4 年前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐