• home > webfront > ECMAS > npm-node >

    pm2托管npm命令:linux持久运行nodejs npm run服务(开机启动)

    Author:zhoulujun Date:

    如何让npm run serve在Linux后台持久运行?如何让 vue项目在Linux后台持久运行 npm run dev?一般网上 给出的是:nohup npm run

    如何让npm run serve在Linux后台持久运行?

    如何让 vue项目在Linux后台持久运行 npm run dev?

    一般网上 给出的是:nohup npm run dev &  

    但是pm2 用过后,肯定最香的!

    pm2

    官网:https://pm2.keymetrics.io/docs/usage/quick-start/

    全局安装pm2

    npm install -g pm2

    运行node.js服务的时候,如果服务器不小心或者因为其他原因重启了,服务不会跟着重启,需要手动运行服务,这样肯定是很不方便的,当然可以通过shell脚本进行启动,不过这样的不利于服务管理。可以通过pm2进行管理。

    管理命令

    找到项目的目录,使用pm2进行启动

    执行命令pm2 start 项目启动文件进行启动

    $ pm2 start app.js
    $ pm2 start bashscript.sh
    $ pm2 start python-app.py --watch
    
    # 启动npm run dev
    $ pm2 start npm --watch  -- run dev
    
    pm2 [list|ls|status]   # 显示状态
    pm2 logs               # 查看所有进程日志
    
    pm2 stop all           # 停止所有进程
    pm2 restart all        # 重启所有进程
    
    pm2 stop 0             # 停止进程
    pm2 restart 0          # 重启进程
    pm2 delete 0           # 删除进程
    
    
    # 添加额外参数到脚本
    -- arg1 arg2 arg3
    
    # eg: pm2启动 npm run start
    pm2 start npm --name www -- run start


    --name

    pm2 start app.js --name xxx // 命名进程为xxx

    我们一般用这个来命名服务,以方便管理。

    添加额外参数到脚本

    pm2 start app.js -i max       // 指定有效CPU数目启动最大进程数目
    pm2 start app.js -i 3         // 启动3个进程
    pm2 start app.js -x           // 用fork模式启动 app.js, 而不是使用 cluster
    pm2 start app.js --name xxxx  // 启动一个进程并把它命名为 xxxx
    pm2 start app.json            // 启动进程,在app.json里设置选项
    pm2 start app.js -i max -- -a 23  // 在--之后给app.js传递参数
    pm2 start app.js -i max -e err.log -o out.log // 启动并生成一个配置文件


    保存当前列表

    执行命令pm2 save保存现有列表数据,开机后会自动加载已保存的应用列表进行启动

    pm2 save

    设置开机启动

    执行命令pm2 startup进行设置开机启动

    sudo pm2 start xxxx  #启动服务
    sudo pm2 save # 保存服务
    sudo pm2 startup # 把已启动服务加到systemd中
    sudo pm2 unstartup systemd # 删除自动启动服务

    注:自动启动适用于稳定代码版本,如果代码发生变动,需要重新save、startup,否则pm2启动可能报错:

    查看开机启动项

    systemctl status pm2-root

    centos7 可以通过systemctl查看服务状态

    日志查看

    默认日志路径

    /root/.pm2/logs/




    参考文章:

    pm2 设置开启自启 node.js应用开机启动相关命令 https://blog.csdn.net/biao0309/article/details/95391644

    https://pm2.keymetrics.io/docs/usage/quick-start/pm2开机自启动

    让npm run serve在Linux后台持久运行 https://www.cnblogs.com/zhangmingcheng/p/14085352.html

    学习使用PM2管理nodejs进程 学习使用PM2管理nodejs进程https://www.cnblogs.com/tugenhua0707/p/10230975.html

    pm2管理koa2项目 https://blog.csdn.net/finedayforu/article/details/115567794


    转载本站文章《pm2托管npm命令:linux持久运行nodejs npm run服务(开机启动)》,
    请注明出处:https://www.zhoulujun.cn/html/webfront/ECMAScript/nodejs/8828.html