linux下安装node环境以及配置软连接、pm2管理node进程

安装

在官方网站下载linux系统的安装包,然后上传到服务器进行解压安装

  • 执行解压命令:tar -xvf node-v6.10.0-linux-x64.tar.xz
  • 重命名: mv node-v6.10.0-linux-x64 nodejs
  • 确认一下nodejs下bin目录是否有node 和npm文件,如果有执行软连接,如果没有重新下载执行上边步骤;

通过源码编译,在官方网站下载Source code文件,

  • tar xvf node-v0.10.28.tar.gz
  • cd node-v0.10.28
  • ./configure
  • make
  • make install
  • cp /usr/local/bin/node /usr/sbin/ 路径自己选择
  • 查看当前安装的Node的版本 : node -v
建立软连接,配置全局环境变量
  • ln -s /usr/local/nodejs/bin/npm /usr/local/bin/
  • ln -s /usr/local/nodejs/bin/node /usr/local/bin/

检查是否配置好

  • node -v
  • npm -v
使用pm2进行node进程管理
  • 安装:npm i pm2 -g
  • 运行:pm2 start app.js
  • 停止所有进程:pm2 stop all
  • 重启所有进程: pm2 restart all
pm2命令
# General 
    $ npm install pm2 -g            # Install PM2 
    $ pm2 start app.js              # Start, Daemonize and auto-restart application (Node) 
    $ pm2 start app.py              # Start, Daemonize and auto-restart application (Python) 
    $ pm2 start npm -- start        # Start, Daemonize and auto-restart Node application 
 
# Cluster Mode (Node.js only) 
    $ pm2 start app.js -i 4         # Start 4 instances of application in cluster mode 
                                    # it will load balance network queries to each app 
    $ pm2 reload all                # Zero Second Downtime Reload 
    $ pm2 scale [app-name] 10       # Scale Cluster app to 10 process 

# Process Monitoring 
    $ pm2 list                      # List all processes started with PM2 
    $ pm2 list --sort=<field>       # Sort all processes started with PM2 
    $ pm2 monit                     # Display memory and cpu usage of each app 
    $ pm2 show [app-name]           # Show all information about application 
 
# Log management 
    $ pm2 logs                      # Display logs of all apps 
    $ pm2 logs [app-name]           # Display logs for a specific app 
    $ pm2 logs --json               # Logs in JSON format 
    $ pm2 flush
    $ pm2 reloadLogs
 
# Process State Management 
    $ pm2 start app.js --name="api" # Start application and name it "api" 
    $ pm2 start app.js -- -a 34     # Start app and pass option "-a 34" as argument 
    $ pm2 start app.js --watch      # Restart application on file change 
    $ pm2 start script.sh           # Start bash script 
    $ pm2 start app.json            # Start all applications declared in app.json 
    $ pm2 reset [app-name]          # Reset all counters 
    $ pm2 stop all                  # Stop all apps 
    $ pm2 stop 0                    # Stop process with id 0 
    $ pm2 restart all               # Restart all apps 
    $ pm2 gracefulReload all        # Gracefully reload all apps in cluster mode 
    $ pm2 delete all                # Kill and delete all apps 
    $ pm2 delete 0                  # Delete app with id 0 
 
# Startup/Boot management 
    $ pm2 startup                   # Detect init system, generate and configure pm2 boot on startup 
    $ pm2 save                      # Save current process list 
    $ pm2 resurrect                 # Restore previously saved processes 
    $ pm2 unstartup                 # Disable and remove startup system 
     
    $ pm2 update                    # Save processes, kill PM2 and restore processes 
    $ pm2 generate                  # Generate a sample json configuration file 
 
# Deployment 
    $ pm2 deploy app.json prod setup    # Setup "prod" remote server 
    $ pm2 deploy app.json prod          # Update "prod" remote server 
    $ pm2 deploy app.json prod revert 2 # Revert "prod" remote server by 2 
     
# Module system 
    $ pm2 module:generate [name]    # Generate sample module with name [name] 
    $ pm2 install pm2-logrotate     # Install module (here a log rotation system) 
    $ pm2 uninstall pm2-logrotate   # Uninstall module 
    $ pm2 publish                   # Increment version, git push and npm publish 
    原文作者:microcosm1994
    原文地址: https://segmentfault.com/a/1190000013162021
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞