在Linux上部署Node.js微服务可以通过多种方式实现,以下是一个基本的步骤指南:
安装Node.js:
sudo apt update sudo apt install nodejs npm 安装PM2(进程管理器,用于保持应用运行):
sudo npm install pm2 -g 假设你已经有一个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}`); }); 使用PM2部署应用:
pm2 start app.js --name my-app --name my-app 是给你的应用起一个名字,方便管理和监控。Nginx可以用来处理静态文件和负载均衡。
sudo apt install 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地址。sudo systemctl restart nginx 使用PM2进行应用监控和管理:
查看所有进程:
pm2 list 查看日志:
pm2 logs 停止应用:
pm2 stop my-app 重启应用:
pm2 restart my-app 如果你的应用需要环境变量,可以在启动PM2时设置:
pm2 start app.js --name my-app --env production --env-file .env.production 如果你希望进一步简化部署过程,可以使用Docker。
# Dockerfile FROM node:14 WORKDIR /usr/src/app COPY package*.json ./ RUN npm install COPY . . EXPOSE 3000 CMD ["node", "app.js"] docker build -t my-node-app . docker run -p 3000:3000 my-node-app 通过以上步骤,你可以在Linux上成功部署一个Node.js微服务。根据具体需求,你可能还需要配置SSL证书、数据库连接等。