美文网首页
从零开始,在linux centeros 7.0搭建verdac

从零开始,在linux centeros 7.0搭建verdac

作者: 前端一条鱼 | 来源:发表于2021-02-03 10:42 被阅读0次

    环境配置

    linux centos7,nodejs,verdaccio,pm2

    nodejs的下载安装及环境变量配置

    下载:

    wget https://nodejs.org/dist/v12.18.3/node-v12.18.3-linux-x64.tar.xz
    

    解压及重命名:

    xz -d node-v12.18.3-linux-x64.tar.xz 
    tar -xf node-v12.18.3-linux-x64.tar
    mv node-v12.18.3-linux-x64 node-v12.18.3
    

    设置node全局环境变量:

    vi .bash_profile  // 修改用户环境变量文件
    

    键入i,进入插入模式:

    export NODE_HOME=/usr/local/node-v12.18.3/bin
    export PATH=$PATH:$NODE_HOME
    

    Esc 退出插入模式,shift+ 后输入wq保存并且退出

    让修改的环境变量文件生效:

    source .bash_profile
    

    至此,一切都很顺利,然而验证一下:

    node -v
    bash: node: 未找到命令...
    

    哈哈,有点尴尬。这不能怪我哈,我严格且标准的按照百度上大佬们提供的步骤进行的。
    找原因吧,下载安装应该不会有问题,因为已经生成了我们下载的node包了。
    那问题就是出在环境变量的配置上。继续百度,还有一个环境变量的配置方案,系统的全局环境变量配置:

    vi /etc/profile
    // 下面步骤和上面的环境变量配置方法相同
    ......
    

    见证奇迹的时刻到了?

    node -v
    bash: node: 未找到命令...
    

    ???我必须吐槽一波网上的这些大佬们,你们是不是没验证过啊,还是偷偷藏了些私货,没写完整?
    继续查资料,过滤掉和以上两种方法一样的文章后,还剩下一篇关于设置软连接的方法。
    什么是软连接:可以方便使用的方式。试一下。

    ln -s /root/node-v12.18.3-linux-x64/bin/node /usr/local/bin/node   // ln -s 解压的node地址  软连接的目标地址
    ln -s /root/node-v12.18.3-linux-x64/bin/npm /usr/local/bin/npm 
    
    node -v
    v12.18.3
    npm -v
    6.14.6
    

    OK,node的配置成功,相当于万里长征走了一半,剩下就简单了。

    安装verdaccio

    按照官方文档的使用说明,直接 npm 全局安装 verdaccio 就行。

    npm install -g verdaccio 
    ...安装中...
    ...安装中...
    ...安装中...
    ERROR: grywarn权限问题报错
    

    what?root账号登录,也会权限报错?不讲武德。那就见招拆招:

    npm install -g verdaccio --unsafe-perm
    ...安装中...
    ...安装中...
    ...安装中...
    + verdaccio@4.11.0
    

    成功后,我们修改一下config.yaml配置文件

    vi /root/.config/verdaccio/config.yaml
    

    在配置文件末尾最后添加监听端口:

    listen: 172.xx.xx.xx:4873 // 我们的服务器地址,因为我们是要访问这个地址的嘛
    

    就验证一下,按照官方文档的使用说明,执行:

    verdaccio
    
    bash: verdaccio: 未找到命令...
    

    咦?这么眼熟?和验证nodejs的错误一样。那就好办了,同一个坑,不可能踩两次的:

    ln -s /root/node-v12.18.3-linux-x64/bin/verdaccio /usr/local/bin/verdaccio
    

    再执行:

    verdaccio
    
    *** WARNING: Verdaccio doesn't need superuser privileges. Don't run it under root! ***
     warn --- config file  - /root/.config/verdaccio/config.yaml
     warn --- Verdaccio started
     warn --- Plugin successfully loaded: verdaccio-htpasswd
     warn --- Plugin successfully loaded: verdaccio-audit
     warn --- http address - http://172.xx.xx.xx:4873/ - verdaccio/4.11.0
     fatal--- cannot create server: listen EADDRINUSE: address already in use 172.xx.xx.xx:4873/
    

    端口被占用了?netstat -tunlp 查一下,果然:

    Active Internet connections (only servers)
    Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
    tcp        0      0 172.xx.xx.xx:4873      0.0.0.0:*               LISTEN      7557/hr-ui组件库 
    ...
    

    果断杀掉:kill -9 7557
    再执行 verdaccio

    warn --- config file  - /root/.config/verdaccio/config.yaml
     warn --- Verdaccio started
     warn --- Plugin successfully loaded: verdaccio-htpasswd
     warn --- Plugin successfully loaded: verdaccio-audit
     warn --- http address - http://172.xx.xx.xx:4873/ - verdaccio/4.11.0
    

    成功运行。
    我们浏览器访问一下,页面报错:无法访问此网站,拒绝了我们的连接请求。外网不能访问?
    找下原因,确实,4873这个端口没有对外暴露,所以访问不了。那就暴露一下,执行命令:

    firewall-cmd --zone=public --add-port=4873/tcp --permanent
    success
    
    firewall-cmd --reload      #开放端口需要重启防火墙才能生效
    success
    

    再访问 http://172.xx.xx.xx:4873/,成功进入官方文档说的首页了。

    利用pm2一直守护verdaccio进程

    直接使用 verdaccio 虽然可以正常启动,但是不能一直保持进程开启,所以我们可以使用pm2来对verdaccio进程进行托管启动

    1.安装pm2

    npm install -g pm2 --unsafe-perm
    

    2.软连接pm2

    ln -s /root/node-v12.18.3-linux-x64/bin/pm2 /usr/local/bin/pm2
    

    3.pm2启动verdaccio

    pm2 start verdaccio
    

    好的,至此,这个进程就一直保持开启状态了。

    verdaccio如何使用

    上面所有的步骤都是 verdaccio 服务的相关配置,那该如何使用呢?
    简单,客户端执行以下命令:

    //使用时需要手动添加用户
    npm set registry http://172.xx.xx.xx:4873/ //切换到我们的私有库
    npm adduser
    //根据提示输入用户名和密码 邮箱
    
    //由于我们上面已经切换了私有库了就直接登陆
    npm login //按提示登陆
    //在创建好的本地npm项目库文件执行上传
    npm publish
    

    刷新一下 http://172.xx.xx.xx:4873/ 看看,芜湖,成功上传了。

    如何使用私有库的包?

    指定安装的源地址就可以了:

    npm install xxxx  --registry=http://172.xx.xx.xx:4873/
    

    相关文章

      网友评论

          本文标题:从零开始,在linux centeros 7.0搭建verdac

          本文链接:https://www.haomeiwen.com/subject/ejyptltx.html