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"都是比较耗内存的

  • 相关阅读:
    HDU 6182 A Math Problem 水题
    HDU 6186 CS Course 位运算 思维
    HDU 6188 Duizi and Shunzi 贪心 思维
    HDU 2824 The Euler function 欧拉函数
    HDU 3037 Saving Beans 多重集合的结合 lucas定理
    HDU 3923 Invoker Polya定理
    FZU 2282 Wand 组合数学 错排公式
    HDU 1452 Happy 2004 数论
    HDU 5778 abs 数论
    欧拉回路【判断连通+度数为偶】
  • 原文地址:https://www.cnblogs.com/chuaWeb/p/12205653.html
Copyright © 2011-2022 走看看