在CentOS中部署Node.js RESTful API涉及几个步骤,包括安装Node.js、设置环境、编写API代码、测试API以及配置Nginx作为反向代理。以下是一个详细的步骤指南:
1. 安装Node.js
首先,你需要在CentOS上安装Node.js。你可以使用NodeSource的二进制分发库来安装特定版本的Node.js。
# 添加NodeSource库
curl -sL https://rpm.nodesource.com/setup_14.x | sudo bash -
# 安装Node.js和npm
sudo yum install -y nodejs
2. 设置环境
确保你的系统已经安装了必要的构建工具和依赖项。
sudo yum groupinstall -y "Development Tools"
sudo yum install -y git
3. 编写Node.js RESTful API
创建一个新的目录来存放你的项目,并进入该目录。
mkdir my-api
cd my-api
初始化一个新的Node.js项目。
npm init -y
安装Express框架和其他必要的依赖项。
npm install express body-parser cors
创建一个简单的Express应用。
// app.js
const express = require('express');
const bodyParser = require('body-parser');
const cors = require('cors');
const app = express();
const port = process.env.PORT || 3000;
app.use(cors());
app.use(bodyParser.json());
app.get('/', (req, res) => {
res.send('Hello World!');
});
app.listen(port, () => {
console.log(`Server is running on port ${port}`);
});
4. 测试API
在本地测试你的API以确保它正常工作。
node app.js
打开浏览器并访问 http://localhost:3000,你应该看到 “Hello World!” 的消息。
5. 配置Nginx作为反向代理
安装Nginx。
sudo yum install -y nginx
启动并启用Nginx服务。
sudo systemctl start nginx
sudo systemctl enable nginx
配置Nginx以将请求转发到你的Node.js应用。
编辑Nginx配置文件 /etc/nginx/nginx.conf 或创建一个新的配置文件 /etc/nginx/conf.d/my-api.conf。
server {
listen 80;
server_name your_domain.com;
location / {
proxy_pass http://localhost:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}
重新加载Nginx配置以应用更改。
sudo systemctl reload nginx
6. 配置防火墙
确保你的防火墙允许HTTP和HTTPS流量。
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload
7. 部署到生产环境
你可以使用PM2来管理你的Node.js应用,确保它在后台运行并且自动重启。
安装PM2。
sudo npm install -g pm2
使用PM2启动你的应用。
pm2 start app.js --name my-api
保存PM2配置以便在系统重启后自动启动。
pm2 save
现在,你的Node.js RESTful API应该已经成功部署在CentOS上,并且可以通过Nginx访问。
以上就是关于“如何在CentOS中部署Node.js RESTful API”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm