centos

如何在CentOS上部署Node.js微服务

小樊
35
2025-06-14 07:23:34
栏目: 编程语言

在CentOS上部署Node.js微服务涉及几个步骤,包括安装Node.js、设置环境、编写和测试代码、以及配置和启动服务。以下是一个详细的指南:

1. 安装Node.js

首先,你需要在CentOS上安装Node.js。你可以使用NodeSource的二进制分发库来安装最新版本的Node.js。

使用NodeSource安装Node.js

  1. 添加NodeSource库

    curl -sL https://rpm.nodesource.com/setup_14.x | sudo bash -
    
  2. 安装Node.js

    sudo yum install -y nodejs
    
  3. 验证安装

    node -v
    npm -v
    

2. 设置环境

确保你的环境变量设置正确,以便Node.js和npm命令可以在任何地方运行。

echo "export PATH=\$PATH:/usr/local/bin/node:/usr/local/bin/npm" >> ~/.bashrc
source ~/.bashrc

3. 编写和测试代码

编写你的Node.js微服务代码,并使用npm进行依赖管理。

示例项目结构

my-node-service/
├── app.js
├── package.json
└── package-lock.json

创建package.json

npm init -y

安装依赖

npm install express

编写app.js

const express = require('express');
const app = express();
const port = 3000;

app.get('/', (req, res) => {
  res.send('Hello World!');
});

app.listen(port, () => {
  console.log(`Example app listening at http://localhost:${port}`);
});

测试代码

node app.js

访问 http://localhost:3000 应该会看到 “Hello World!”。

4. 配置和启动服务

为了在生产环境中运行Node.js应用,你需要进行一些配置和启动服务的步骤。

使用PM2管理Node.js应用

PM2是一个进程管理器,可以帮助你管理和监控Node.js应用。

  1. 安装PM2

    sudo npm install pm2 -g
    
  2. 启动应用

    pm2 start app.js --name my-node-service
    
  3. 查看应用状态

    pm2 status
    
  4. 停止应用

    pm2 stop my-node-service
    
  5. 重启应用

    pm2 restart my-node-service
    

配置Nginx作为反向代理

为了提高性能和安全性,你可以使用Nginx作为反向代理。

  1. 安装Nginx

    sudo yum install nginx -y
    
  2. 启动Nginx

    sudo systemctl start nginx
    sudo systemctl enable nginx
    
  3. 配置Nginx

    编辑 /etc/nginx/conf.d/my-node-service.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;
        }
    }
    
  4. 重启Nginx

    sudo systemctl restart nginx
    

5. 配置防火墙

确保你的防火墙允许HTTP和HTTPS流量。

sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload

6. 监控和日志

使用PM2的监控和日志功能来管理你的应用。

  1. 查看日志

    pm2 logs my-node-service
    
  2. 监控应用

    pm2 monit
    

通过以上步骤,你应该能够在CentOS上成功部署一个Node.js微服务。

0
看了该问题的人还看了