centos6下安装nodejs环境

最新版本 https://nodejs.org/en/download/

旧版本 https://nodejs.org/en/download/releases/

开发者维护的版本 https://nodejs.org/download/nightly/

安装

源码安装(不建议,要求高)

gcc and g++ 4.9.4 or newer, or

clang and clang++ 3.4.2 or newer (macOS: latest Xcode Command Line Tools)

Python 2.6 or 2.7

GNU Make 3.81 or newer

二进制安装

  • 下载

wget https://nodejs.org/dist/v8.9.4/node-v8.9.4-linux-x64.tar.xz

  • 文件校检

sha256sum node-v8.9.4-linux-x64.tar.xz

  • 解压

tar xvJf node-v8.9.4-linux-x64.tar.xz

  • 移动

mv node-v8.9.4-linux-x64 /usr/local/ && cd /usr/local && ln -s node-v8.9.4-linux-x64 node

  • 环境变量

cat /etc/profile.d/node.sh

export NODE_HOME=/usr/local/node
export PATH=$PATH:$NODE_HOME/bin
export NODE_PATH=$NODE_HOME/lib/node_modules
  • 生效

. /etc/profile.d/node.sh

  • 验证

node -v

v8.9.4

采用包管理方式安装

参考 https://nodejs.org/en/download/package-manager/#enterprise-linux-and-fedora

On RHEL, CentOS or Fedora, for Node.js v8 LTS:

curl --silent --location https://rpm.nodesource.com/setup_8.x | sudo bash -

yum -y install nodejs

以上就是常见的安装NODE的三种方式。那么

环境安装好后,如果使用nodejs呢?

按照官网写一个app.js,文件内容为

const http = require('http');

const hostname = '127.0.0.1';
const port = 3000;

const server = http.createServer((req, res) => {
  res.statusCode = 200;
  res.setHeader('Content-Type', 'text/plain');
  res.end('Hello World\n');
});

server.listen(port, hostname, () => {
  console.log(`Server running at http://${hostname}:${port}/`);
});

启动

node app.js

Server running at http://127.0.0.1:3000/

我们另外开一个终端请求

curl http://127.0.0.1:3000

Hello World

完成!

当终端关掉的时候,node服务就断开了,如何使node一直在后台跑呢?

我们来看看除了screen,nohup等外,node的三种守护方式supervisor,pm2,forever

supervisor就不说了,我比较喜欢用node自带的模块

forever可以看做是一个nodejs的守护进程,能够启动,停止,重启我们的app应用。

  • 安装forever

npm install forever -g

forever的具体用法参数可以执行 forever -h 查看

  • 运行

forever start app.js

kill node的PID,发现他的PID已经改变了

forever list 列出运行的进程

forever stop 0 关闭进程,Stop the daemon SCRIPT by Id|Uid|Pid|Index|Script

再来看看pm2

参考 https://www.jianshu.com/p/fdc12d82b661

  • 安装

npm install -g pm2

ls -al /usr/local/node/bin/

  • 运行

pm2 start app.js

哈哈,看起来就比较高大上,pm2 -h看起来功能也比较多,这才是我们想要的。

总结:forever和pm2都可以做到代码修改后重启服务,pm2更好一些,支持0 downtime,0 秒停机重载,我理解大概意思是维护升级的时候不需要停机.

转载于:https://my.oschina.net/longquan/blog/1586693

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值