温馨提示×

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

小樊
51
2025-06-23 08:29:22
栏目: 编程语言

在Linux上部署Node.js微服务可以通过多种方式实现,以下是一个基本的步骤指南:

1. 准备工作

  • 安装Node.js

    sudo apt update sudo apt install nodejs npm 
  • 安装PM2(进程管理器,用于保持应用运行):

    sudo npm install pm2 -g 

2. 创建Node.js应用

假设你已经有一个Node.js应用,如果没有,可以创建一个简单的示例应用:

// 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}`); }); 

3. 部署应用

使用PM2部署应用:

pm2 start app.js --name my-app 
  • --name my-app 是给你的应用起一个名字,方便管理和监控。

4. 配置Nginx作为反向代理

Nginx可以用来处理静态文件和负载均衡。

安装Nginx

sudo apt install nginx 

配置Nginx

编辑Nginx配置文件 /etc/nginx/sites-available/default

server { listen 80; server_name your_domain_or_ip; 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; } } 
  • your_domain_or_ip 替换为你的域名或IP地址。

重启Nginx

sudo systemctl restart nginx 

5. 监控和管理

使用PM2进行应用监控和管理:

  • 查看所有进程:

    pm2 list 
  • 查看日志:

    pm2 logs 
  • 停止应用:

    pm2 stop my-app 
  • 重启应用:

    pm2 restart my-app 

6. 设置环境变量

如果你的应用需要环境变量,可以在启动PM2时设置:

pm2 start app.js --name my-app --env production --env-file .env.production 

7. 使用Docker(可选)

如果你希望进一步简化部署过程,可以使用Docker。

创建Dockerfile

# Dockerfile FROM node:14 WORKDIR /usr/src/app COPY package*.json ./ RUN npm install COPY . . EXPOSE 3000 CMD ["node", "app.js"] 

构建Docker镜像

docker build -t my-node-app . 

运行Docker容器

docker run -p 3000:3000 my-node-app 

通过以上步骤,你可以在Linux上成功部署一个Node.js微服务。根据具体需求,你可能还需要配置SSL证书、数据库连接等。

0