前端在服务器(linux)上搭建verdaccio私服环境

635 阅读3分钟

因为公司最近在更换服务器,所以需要将私服上的组件库迁移,运维小哥给了一个新的机器,我把整理下来的在linux上如何搭建私服环境的完整步骤,以及遇到的问题都罗列出来,供需要的朋友参考

1.安装部署私服环境

以下步骤是一个干净的环境,如果已经存在可直接跳过进行后面的步骤

1.1 安装wget

是否存在检查:wget -V

yum install -y wget

1.2 安装node

是否存在检查:node -v 、npm -v https://nodejs.org/dist这个网址可以选择需要安装的node的版本,比我是在linux上使用16.16.0版本的node。我下载的地址就是相应的来源地址,https://nodejs.org/dist/v16.16.0/node-v16.16.0-linux-x64.tar.xz,如下图:

WX20220803-114950@2x.png

1.2.1 确定node下载位置

题外话补充:

pwd:查看当前路径

ls:查看当前路径下的所以文件

这个根据使用者自行决定,假设我想下载的地址是 /aa/bb

那么我们进入这个目录cd /aa/bb

1.2.2 下载node包

题外话:如果以后的所有命令执行失败,且原因是没有权限,解决方案是在命令之前加上sudo

wget https://nodejs.org/dist/v16.16.0/node-v16.16.0-linux-x64.tar.xz

下载好之后,执行 ls 命令,会看到目录下多了一个node-v16.16.0-linux-x64.tar.xz文件

1.2.3 解压node包

tar -xvf node-v12.18.2-linux-x64.tar.xz

完事,目录下会有一个node-v12.18.2-linux-x64文件夹

1.2.4 重命名文件夹

为了方便后续维护使用等我们将解压之后的包进行重命名

mv node-v12.18.2-linux-x64 nodejs

完事,发现解压包已经改名为nodejs了,记住现在nodejs所在路径是/aa/bb/nodejs

1.2.5 软连接

软连接的目的是将node命令和npm命令在全局生效

ln -s /aa/bb/nodejs/bin/node /usr/local/bin/
ln -s /aa/bb/nodejs/bin/npm /usr/local/bin/

该机器下,任意位置执行node -v和npm -v成功即安装步骤成功啦~

1.3 安装verdaccio

1.3.1 安装

确定安装位置,假设还在/aa/bb目录下

npm install verdaccio -g
ln -s /aa/bb/nodejs/bin/verdaccio /usr/local/bin/

任意位置执行verdaccio,出现下图,表示成功安装verdaccio了

WechatIMG250.png

1.3.2 修改config.yaml配置

上面我们执行了verdaccio命令之后,会告诉你一个config.yaml配置文件所在的目录

题外话:需要有vim编辑相关尝试哟,可以自行百度

vim /xx/xx/config.yaml

进去时候增加一行配置,verdaccio默认是4873,我没有去动这个端口

listen: 0.0.0.0:4873

意思是外网访问机器ip:4873地址都可以,我的服务器地址就是:10.XXX.XX.XX:4873/ 隐私就不完全展示啦~

出现下图表示成功:

WX20220803-122255@2x.png

1.3.3 问题

通过verdaccio命令启动的这个服务,在关闭进程之后,这个页面也就没有办法访问了。解决这个的方式就是使用pm2管理我们的node进程

1.4 pm2管理verdaccio

1.4.1 安装pm2

假设目录:/aa/bb/

npm i pm2 -g
ln -s /aa/bb/nodejs/bin/pm2 /usr/local/bin/

pm2 -v检查是否安装完毕

1.4.2 pm2管理verdaccio

pm2 start verdaccio

启动成功一样访问:10.XXX.XX.XX:4873/ 关闭进程,一样是可以访问的

如果不能访问:pm2 show verdaccio查看进程的相关信息,我之前遇见的是里面的信息script path不再我们设置的 /usr/local/bin里面

解决方案:

//先关闭之前的进程
pm2 stop verdaccio
//再开启
pm2 start `which verdaccio`

1.4.3 pm2相关命令

pm2 start XX  //启动相关进程
pm2 stop XX   //停止相关进程
pm2 list      //pm2管理的所有进程
pm2 show <name | id>  //展示某个进程的信息
pm2 logs     //展示所有应用程序日志

还有很多自行官网学习吧~

以上就是整个verdaccio私服环境部署了,欢迎讨论