在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证书、数据库连接等。