#!/bin/bash set -e echo "🚀 重新部署应用,配置前后端分离..." cd /root # 停止现有进程 pm2 stop all 2>/dev/null || true pm2 delete all 2>/dev/null || true # 应用 1: 远程团队协作 - 前端 8080, 后端 3001 cd "/root/远程团队需要更好的异步协作工具" cat > src/frontend/serve.js << 'EOF' const http = require('http'); const fs = require('fs'); const path = require('path'); const PORT = process.env.FRONTEND_PORT || 8080; http.createServer((req, res) => { let filePath = path.join(__dirname, req.url === '/' ? 'index.html' : req.url); const ext = path.extname(filePath); const types = { '.html': 'text/html', '.css': 'text/css', '.js': 'application/javascript' }; fs.readFile(filePath, (err, data) => { res.writeHead(err ? 404 : 200, { 'Content-Type': types[ext] || 'text/plain' }); res.end(err ? 'Not Found' : data); }); }).listen(PORT, () => console.log(`🚀 前端已启动:http://localhost:${PORT}`)); EOF PORT=3001 pm2 start src/backend/server.js --name remote-collab-api pm2 start src/frontend/serve.js --name remote-collab --env FRONTEND_PORT=8080 # 应用 2: 中小企业 CRM - 前端 8081, 后端 3002 cd "/root/中小企业需要轻量级-crm-系统" cat > src/frontend/serve.js << 'EOF' const http = require('http'); const fs = require('fs'); const path = require('path'); const PORT = process.env.FRONTEND_PORT || 8081; http.createServer((req, res) => { let filePath = path.join(__dirname, req.url === '/' ? 'index.html' : req.url); const ext = path.extname(filePath); const types = { '.html': 'text/html', '.css': 'text/css', '.js': 'application/javascript' }; fs.readFile(filePath, (err, data) => { res.writeHead(err ? 404 : 200, { 'Content-Type': types[ext] || 'text/plain' }); res.end(err ? 'Not Found' : data); }); }).listen(PORT, () => console.log(`🚀 前端已启动:http://localhost:${PORT}`)); EOF PORT=3002 pm2 start src/backend/server.js --name crm-api pm2 start src/frontend/serve.js --name crm --env FRONTEND_PORT=8081 # 应用 3: 电商库存管理 - 前端 8082, 后端 3003 cd "/root/电商卖家需要多平台库存管理" cat > src/frontend/serve.js << 'EOF' const http = require('http'); const fs = require('fs'); const path = require('path'); const PORT = process.env.FRONTEND_PORT || 8082; http.createServer((req, res) => { let filePath = path.join(__dirname, req.url === '/' ? 'index.html' : req.url); const ext = path.extname(filePath); const types = { '.html': 'text/html', '.css': 'text/css', '.js': 'application/javascript' }; fs.readFile(filePath, (err, data) => { res.writeHead(err ? 404 : 200, { 'Content-Type': types[ext] || 'text/plain' }); res.end(err ? 'Not Found' : data); }); }).listen(PORT, () => console.log(`🚀 前端已启动:http://localhost:${PORT}`)); EOF PORT=3003 pm2 start src/backend/server.js --name inventory-api pm2 start src/frontend/serve.js --name inventory --env FRONTEND_PORT=8082 pm2 save echo "" echo "================================" echo "🌐 访问地址:" echo "================================" echo " - 远程团队协作前端:http://42.121.167.63:8080" echo " - 中小企业 CRM 前端:http://42.121.167.63:8081" echo " - 电商库存管理前端:http://42.121.167.63:8082" echo "" echo "✅ 部署完成!"