centos

如何在CentOS中部署Node.js RESTful API

小樊
37
2025-11-29 17:32:51
栏目: 编程语言

在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访问。

0
看了该问题的人还看了