一、前端部署全流程解析
-
项目构建与优化
以主流框架Vue为例,执行构建命令npm run build生成dist目录。建议配置publicPath参数解决多级路径资源加载问题,通过webpack-bundle-analyzer分析打包体积,启用Gzip压缩减少传输数据量。对于大型项目,可采用路由懒加载和代码分割技术优化首屏加载速度。 -
安全传输方案
推荐使用SCP协议传输文件:scp -r -P 2222 -i ~/.ssh/key.pem dist/* user@server:/var/www/html
关键参数说明:
-P指定非标准SSH端口-i指定密钥文件路径- 生产环境建议禁用SCP的密码认证,改用密钥对认证
-
Nginx静态托管配置
核心配置示例:server {listen 80;server_name example.com;root /var/www/html;index index.html;# 前端路由支持location / {try_files $uri $uri/ /index.html;}# 静态资源缓存策略location ~* \.(js|css|png|jpg)$ {expires 1y;add_header Cache-Control "public, no-transform";}# 禁止访问敏感文件location ~ /(\.env|\.git|README\.md) {deny all;return 403;}}
二、后端服务部署方案
- Node.js进程管理
推荐使用PM2进行进程守护:
```bash
安装与启动
npm install -g pm2
pm2 start app.js —name “api-server” -i 4 —max-memory-restart 500M
开机自启配置
pm2 startup
pm2 save
关键参数说明:- `-i`指定集群模式实例数- `--max-memory-restart`设置内存限制自动重启- 建议配合日志轮转工具`logrotate`管理日志文件2. Java服务部署方案生产环境推荐使用systemd管理:```ini# /etc/systemd/system/app.service[Unit]Description=Java ApplicationAfter=syslog.target network.target[Service]User=appuserWorkingDirectory=/opt/appExecStart=/usr/bin/java -Xms512m -Xmx1024m -jar app.jarSuccessExitStatus=143Restart=always[Install]WantedBy=multi-user.target
配置完成后执行:
systemctl daemon-reloadsystemctl enable appsystemctl start app
三、Nginx反向代理深度配置
-
API网关配置
location /api/ {proxy_pass http://127.0.0.1:3000;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;# WebSocket支持proxy_http_version 1.1;proxy_set_header Upgrade $http_upgrade;proxy_set_header Connection "upgrade";# 超时设置proxy_connect_timeout 60s;proxy_read_timeout 300s;proxy_send_timeout 300s;}
-
跨域解决方案
完整CORS配置示例:location /api/ {if ($request_method = 'OPTIONS') {add_header 'Access-Control-Allow-Origin' '*';add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';add_header 'Access-Control-Allow-Headers' 'DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range,Authorization';add_header 'Access-Control-Max-Age' 1728000;add_header 'Content-Type' 'text/plain; charset=utf-8';add_header 'Content-Length' 0;return 204;}add_header 'Access-Control-Allow-Origin' '*';add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';add_header 'Access-Control-Allow-Headers' 'DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range,Authorization';proxy_pass http://backend;}
四、CDN加速集成方案
- 边缘节点配置
主流CDN服务商配置要点:
- 源站设置:填写服务器IP或域名
- 回源协议:根据安全需求选择HTTP/HTTPS
- 缓存规则:
- HTML文件缓存10分钟
- 静态资源缓存1年(配置Cache-Control: public, max-age=31536000)
- API响应禁用缓存
- HTTPS加速优化
推荐配置:
- 启用HTTP/2协议
- 开启OCSP Stapling加速证书验证
- 配置TLS 1.2及以上版本
- 启用会话复用(Session Tickets)
五、安全防护体系构建
- 基础防护配置
```nginx
限制请求速率
limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s;
server {
location /api/ {limit_req zone=one burst=5 nodelay;
}
}
防SQL注入
location ~* (union|select|insert|delete|update|count|(|)|drop|truncate|declare) {
deny all;
}
2. WAF集成方案推荐部署流程:1. 安装ModSecurity模块2. 加载OWASP核心规则集3. 配置异常评分阈值4. 设置白名单规则六、监控与运维体系1. 日志分析方案配置日志轮转:
/var/log/nginx/*.log {
daily
missingok
rotate 14
compress
delaycompress
notifempty
create 0640 www-data adm
sharedscripts
postrotate
[ -f /var/run/nginx.pid ] && kill -USR1 cat /var/run/nginx.pid
endscript
}
```
- 性能监控指标
关键监控项:
- 连接数:
active connections - 请求速率:
requests per second - 响应时间分布:
p50/p90/p99 - 错误率:
5xx error rate - 上游响应时间:
upstream response time
结语:
本方案通过系统化的配置管理,实现了从代码构建到全球分发的完整技术栈覆盖。实际部署时建议先在测试环境验证所有配置,特别是安全相关规则。对于高并发场景,可结合负载均衡器和容器编排技术构建弹性架构,建议定期进行安全审计和性能调优,确保系统长期稳定运行。