zoukankan      html  css  js  c++  java
  • sudo pm2 提示 找不到命令

    一共有 3 台 staging 环境服务器,5 台生产环境服务器,centos7系统。前阵子刚给所有研发配置了自己的账号,今天有小伙伴说,在其中两台服务器上 sudo pm2 list 提示:

    sudo:pm2:找不到命令

    经过一番查找,原因是这样的:

    在运行 sudo 命令时,系统会按照 sudo visudo 中的配置去设置 secure_path (安全路径),以限制用户行为。默认的安全路径如下:

    Defaults    secure_path = /sbin:/bin:/usr/sbin:/usr/bin

    其他正常的服务器的 node 是安装在 /usr/bin 目录下,命令可以正常运行。这两台服务器是后来配置的,node 的安装路径是在

    /usr/local/node/vx.xx/bin/

    因此提示找不到命令。

    网上常见的解决方法是取消 env_reset,并在 bashrc 中用别名重新设置 sudo 命令使用的 PATH 变量。

    但是考虑到安全限制以及这个特定的问题,在 /usr/bin 中创建了 pm2 和 node 这两个软连接,分别指向 node 安装目录的对应命令:

    ln -s /usr/local/node/vx.xx/bin/node node
    ln -s /usr/local/node/vx.xx/bin/pm2 pm2
  • 相关阅读:
    MySQL查询优化
    MySQL主从复制与主主复制
    MySQL常用语句
    MySQL数据类型--日期时间
    制作类似ThinkPHP框架中的PATHINFO模式功能(二)
    制作类似ThinkPHP框架中的PATHINFO模式功能
    Smarty的基本使用与总结
    PHP与API讲解(一)
    PHP中遍历XML之SimpleXML
    submit text3常用快捷键
  • 原文地址:https://www.cnblogs.com/jasonxuli/p/10371264.html
Copyright © 2011-2022 走看看