第十章:项目部署与性能优化
10.1 环境配置
// config.js
const env = process.env.NODE_ENV || 'development';
const config = {
development: {
port: 3000,
db: 'mongodb://localhost/dev'
},
production: {
port: process.env.PORT || 80,
db: process.env.DB_URL
}
};
module.exports = config[env];10.2 进程管理
# 安装PM2
npm install -g pm2
# 启动应用
pm2 start app.js
# 查看状态
pm2 status
# 重启
pm2 restart app
# 停止
pm2 stop app10.3 Docker部署
FROM node:18-alpine
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
EXPOSE 3000
CMD ["node", "app.js"]version: '3'
services:
app:
build: .
ports:
- "3000:3000"
environment:
- NODE_ENV=production10.4 性能优化
// 使用缓存
const NodeCache = require('node-cache');
const cache = new NodeCache({ stdTTL: 100 });
// 数据库连接池
const pool = mysql.createPool({
connectionLimit: 10
});
// 压缩响应
app.use(compression());
// 静态文件缓存
app.use(express.static('public', {
maxAge: '1d'
}));教程完成!