乐趣区

关于centos7:CentOS7系统中node安装配置

导语:本篇解说如何配置 node 开发环境,让你的 node 代码能够失常的在网页中运行。

筹备工作

  • linux centos7 操作系统
  • ssh 软件
  • nginx

node 资源

想要理解更多对于 node 的内容,请拜访:

nodejs 官网

装置 node

本次装置介绍两个版本的装置办法,一个是源码装置, 另一个是已编译版本装置,

  • 源码装置
  • 已编译版本装置

源码装置

  • 第一步, 到官网查看最新源码,并下载
cd /home/downloads
wget https://nodejs.org/dist/v10.16.0/node-v10.16.0.tar.gz
  • 第二步,解压源码
tar xzvf node-v10.16.0.tar.gz
cd node-v10.16.0
  • 第三步,装置编译软件
sudo yum install gcc gcc-c++
  • 第四步,编译装置
./configure
make
sudo make install

大略须要半个小时工夫, 编译实现查看版本号。

node --version

如果有显示版本号,阐明装置胜利。

已编译版本装置

  • 下载已编译版本
cd /home/downloads
wget https://nodejs.org/dist/v10.16.0/node-v10.16.0-linux-x64.tar.xz
  • 解压
tar -xvf node-v10.16.0-linux-x64.tar.xz
mv node-v10.16.0-linux-x64  /home/soft/node10
  • 建设软连贯

这样就能够全局应用了。

ln -s /home/soft/node10/bin/npm /usr/local/bin/
ln -s /home/soft/node10/bin/node /usr/local/bin/
  • 查看版本
node -v
npm -v

自动化 node

  • 装置 pm2 管理软件
npm install pm2 -g
  • 全局配置
ln -s /home/soft/node10/bin/pm2 /usr/local/bin/pm2
  • pm2 常用命令

启动:pm2 start app_name|app_id
进行:pm2 stop app_name|app_id
删除:pm2 delete app_name|app_id
重启:pm2 restart app_name|app_id
进行所有:pm2 stop all
查看所有的过程:pm2 list
查看所有的过程状态:pm2 status
查看某一个过程的信息:pm2 describe app_name|app_id

nginx 配置 node 环境

  • 新建 nginx 配置文件,输出以下内容。
vi /etc/nginx/vhost/node.conf

在外面输出:

server {  
  listen   80;  # 监听端口
  server_name  node.example.org; # 拜访域名  
  access_log  /var/www/node/access.log; # 胜利日志
  error_log  /var/www/node/error.log; # 谬误日志
  location / {proxy_pass http://127.0.0.1:3000;}
  # 动态文件图片规定
  location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ {expires  30d;}
  # 动态文件 js、css 规定
  location ~ .*\.(js|css)?$ {expires  1h;}
}
  • 关上 3000 端口。
firewall-cmd --add-port=3000/tcp --permanent
firewall-cmd --reload

配置完了当前重载重启 nginx。

systemctl reload nginx
systemctl restart nginx

而后创立一个 node 文件,拜访地址,便能够看到输入后果。

  • 创立目录:mkdir /var/www/node
  • 创立文件: vi /var/www/node/app.js
  • 输出以下内容:
// 保留为 app.js 文件
// 引入 http 模块
const http = require('http');
const port = 3000;

const success = {
    msg: "get_succ",
    code: 201,
    data: {
        list: [{"id":1,"name": "alun"},
            {"id":2,"name": "mark"},
            {"id":3,"name": "jean"}
        ]
    }
}

const error = {
    msg: "get_fail",
    code: 101,
    data: {info: 'this request failed,again try!'}
}

const authy = {
    msg: "no visited!",
    code: 403,
    data: {info: 'not visited!'}
}

// 建设 http 服务
const serve = http.createServer((req,res) => {
    var lawDomainList = "http://localhost:9925";
    res.setHeader('Content-Type', 'text/plain;charset=utf8');
    res.setHeader("Access-Control-Allow-Origin",lawDomainList);
    if (req.url == '/api') {res.end(JSON.stringify(success));
    } else {res.end(JSON.stringify(error));
    }
    res.end(authy);
})
// 监听端口
serve.listen(port,function(){console.log('serve is running on port 3000!');
})

启动 node 程序,pm2 start app.js

预览

在本地 hosts 文件减少解析记录, 这里的 ip 就是你近程服务器的 ip 地址了。

192.168.1.123 node.example.org

关上游览器,输出http://node.example.org 就能够看到之前编辑的站点的 node 文件内容了。

原文内容:https://guanqi.xyz/note/cento…

退出移动版