zoukankan      html  css  js  c++  java
  • node笔记

    安装/卸载

    安装查看这一篇文章《Node.js 安装配置》即可,包含了各种环境的安装。

    推荐使用已经编译好的包,安装更简单

    【注】在Ubuntu下使用apt-get安装的包不一定是最新稳定版本,可以通过下面的方式安装指定的node
    1. 执行curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -                           // 其中setup_6.x 需要安装的版本号,替换数字就行。
    2. 安装 nodejs,执行 sudo apt-get install nodejs

    如果使用源码安装,可能需要做一些配置,比如在centOS下需要配置node的path环境变量。查看上面文章的centOS安装部分。例如

    配置NODE_HOME,进入profile编辑环境变量
    
    vim /etc/profile
    设置 nodejs 环境变量,在 export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL 一行的上面添加如下内容:
    
    #set for nodejs
    export NODE_HOME=/usr/local/node/0.10.24
    export PATH=$NODE_HOME/bin:$PATH
    :wq保存并退出,编译/etc/profile 使配置生效
    
    source /etc/profile

    Windows卸载:

    1. 如果有安装记录,否则直接到2步:

      控制面板-程序-程序和功能中卸载

    2.直接删除安装文件

      查看安装路径:where <node|npm>

      C:Program Files (x86)Nodejs
      C:Program FilesNodejs
      C:UsersAdministratorAppDataRoaming pm
      C:UsersAdministratorAppDataRoaming pm-cache
      删除上述的几个文件夹  每个人可能不一样

    3.删除环境变量PATH中的node/npm路径

      计算机(此电脑)-高级系统设置-环境变量-Path-删除node/npm环境变量路径

    linux卸载:

    1.删除软连接,如果是源码安装方式,直接到2

      rm -rf /usr/local/bin/node

      rm -rf /usr/local/bin/npm

    2.删除源码(npm包含在node中,直接删除node即可)

      查看node安装路径:which <node|npm>,比如/opt/nodejs/node-v10.15.3-linux-x64/bin/node,其中红色部分就是node包路径

      rm -rf /opt/nodejs/node-v10.15.3-linux-x64

    3.删除环境变量path配置中的node配置

      vi /etc/profile

      删除“export PATH=$PATH:/opt/nodejs/node-v10.15.3-linux-x64/bin”部分

    后台运行

    当node运行在服务器上的时候,使用终端控制node的运行,则需要使用到后台运行模式(避免终端关闭导致node停止运行),有多种方式

    • nohup

      这种方式最简单,linux自带命令,不用任何安装,运行单个node

    nohup node /opt/xxx/index.js &
    eixt // 必须通过exit来关闭shell终端,否则有些终端在手动点击关闭时会将终端启动的程序都关闭,详情:http://materliu.github.io/all/web/nodejs/2014/04/16/nodejs_serve_background_run.html
    • forever

      需要安装forever使用,官网:https://github.com/foreversd/forever#readme

    npm install forever -g
    service forever start
    forever start app.js // 启动js
    forever start -l forever.log -o out.log -e err.log app.js // 启动+日志
    forever stop app.js // 停止js
    forever restart app.js // 重启
    • PM2

      需要安装pm2,功能强大,官网:https://pm2.keymetrics.io/

    npm install pm2 -g
    pm2 start app.js //启动
    pm2 start api.js -i <processes> // 多进程启动
    pm2 stop     <app_name|namespace|id|'all'|json_conf>
    pm2 restart  <app_name|namespace|id|'all'|json_conf>
    pm2 delete   <app_name|namespace|id|'all'|json_conf>

     

     把 nohup和forever以及pm2放在一起说有些不恰当。后面两个功能主要时管理多node进程,down掉自动重启的。还有supervisor

    • supervisor 是开发环境用,。或者用nodemon,node-dev 代替了supervisor 和 nodemon,它和coffeescript兼容最好,文件更改后自动重启,开发时非常方便。
    • forever 管理多个站点,每个站访问量不大,不需要监控。
    • pm2 网站访问量比较大,需要完整的监控界面。pm2 stop *不会释放端口,要pm2 kill杀进程才释放端口,pm2的稳定性还是不错的。

    踩坑

    verbose lifecycle xxx: unsafe-perm in lifecycle true

    报这个错误一般意味着程序崩掉了,大概率是因为内存不足,比如打包压缩js时很耗内存,内存耗完直接崩了。

    解决办法:换一个好的环境或者去掉一些消耗内存的打包配置,比如,webpack --progress --colors --bail --profile,其中“--profile”和"--progress"都是比较耗内存的

  • 相关阅读:
    Building Forest CodeForces
    欢迎使用CSDN-markdown编辑器
    Travelling HDU
    Card Collector HDU
    Doing Homework HDU
    Mirror Number SPOJ
    Palindromic Numbers LightOJ
    Magic Numbers CodeForces
    Xor-sequences CodeForces
    Little Elephant and Elections CodeForces
  • 原文地址:https://www.cnblogs.com/chuaWeb/p/12205653.html
Copyright © 2011-2022 走看看