导语:本篇讲解如何配置node开发环境,让你的node代码可以正常的在网页中运行。
准备工作
- linux centos7操作系统
- ssh软件
- nginx
node资源
想要了解更多关于node的内容,请访问:
安装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文件内容了。