阅读量:39
在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证书、数据库连接等。