单台服务器部署前后端应用时,需要注意以下关键配置问题:
一、基础环境配置
-
系统优化
- 调整文件描述符限制(
ulimit -n) - 优化TCP/IP参数(连接数、超时设置)
- 配置合适的swap空间
- 调整文件描述符限制(
-
安全加固
- 配置防火墙(只开放必要端口)
- 禁用root远程登录
- 配置SSH密钥认证
- 定期更新系统和软件包
二、Web服务器配置
-
Nginx/Apache配置
# 前端静态资源 location / { root /var/www/frontend; try_files $uri $uri/ /index.html; } # 后端APIXX location /api/ { proxy_pass http://localhost:3000/; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } # 静态文件缓存优化 location ~* .(js|css|png|jpg|jpeg|gif|ico)$ { expires 1y; add_header Cache-Control "public, immutable"; } -
SSL/TLS配置
- 配置HTTPS(Let’s Encrypt证书)
- 启用HTTP/2
- 配置安全头部(CSP、HSTS等)
三、应用部署配置
-
进程管理
- 使用PM2、Supervisor或systemd管理Node/Python等进程
- 配置自动重启和日志轮转
# PM2配置示例 pm2 start app.js --name "backend" --max-memory-restart 500M --log /var/log/backend.log --error /var/log/backend-error.log -
资源隔离
- 为前后端应用创建独立用户
- 设置适当的文件权限
- 考虑使用Docker容器化部署
四、数据库配置
-
性能优化
- 根据内存调整缓存大小
- 配置连接池限制
- 启用慢查询日志
-
备份策略
- 配置定期自动备份
- 设置备份保留策略
- 测试恢复流程
五、监控与日志
-
日志管理
- 统一日志格式和存储位置
- 配置日志轮转(logrotate)
- 关键错误告警配置
-
监控配置
- 基础监控(CPU、内存、磁盘、网络)
- 应用监控(响应时间、错误率)
- 设置告警阈值
六、性能优化
-
前端优化
- 启用Gzip/Brotli压缩
- 配置CDN或Nginx缓存静态资源
- 优化图片和资源加载
-
后端优化
- 配置反向XX缓存
- 启用数据库查询缓存
- 优化会话管理
七、备份与恢复
-
制定备份策略
- 应用代码备份
- 数据库备份(全量+增量)
- 配置文件备份
-
灾难恢复
- 文档化恢复流程
- 定期进行恢复测试
- 准备回滚方案
八、部署流程
-
自动化部署
- 使用脚本或CI/CD工具
- 蓝绿部署或滚动更新策略
- 版本回滚机制
-
环境一致性
- 使用环境变量管理配置
- 避免硬编码敏感信息
- 保持开发、测试、生产环境一致
关键检查清单
- [ ] 防火墙配置正确
- [ ] SSL证书有效
- [ ] 数据库连接安全
- [ ] 备份机制已测试
- [ ] 监控告警已配置
- [ ] 日志可追溯
- [ ] 资源限制合理
- [ ] 部署流程文档化
单服务器部署的关键是平衡资源使用和稳定性,建议定期进行压力测试,确保在峰值负载时系统仍能正常运行。
CLOUD技术笔记