18 KiB
18 KiB
DesignHub 服务器配置文档
最后更新: 2025-12-23
系统状态: ✅ 生产环境运行中
版本: v2.0 (迁移后)
🌐 访问地址
🎯 主要访问地址
| 类型 | 地址 | 说明 |
|---|---|---|
| 生产地址 | https://qd.yydd.ai | ⭐ 推荐使用(HTTPS安全) |
| HTTP访问 | http://qd.yydd.ai | 自动跳转到HTTPS |
| IP访问 | http://156.225.27.52:5246 | 备用访问方式 |
🔐 登录账号
| 用户名 | 密码 | 角色 |
|---|---|---|
| admin | 123456 | 超级管理员 |
| designer1 | 123456 | 设计师 |
| designer2 | 123456 | 设计师 |
| requester1 | 123456 | 需求方 |
| requester2 | 123456 | 需求方 |
🖥️ 服务器信息
📡 公网服务器(反向代理服务器)
| 项目 | 值 |
|---|---|
| 服务器IP | 156.225.27.52 |
| SSH端口 | 50232 |
| SSH用户名 | root |
| SSH密码 | it5NuKGemX |
| 操作系统 | CentOS 7 x86_64 |
| Nginx版本 | 1.24.0 |
| 作用 | SSL终止、反向代理、域名绑定 |
SSH连接命令:
ssh -p 50232 root@156.225.27.52
# 或使用sshpass
sshpass -p 'it5NuKGemX' ssh -p 50232 root@156.225.27.52
🏢 内网服务器(应用服务器)
| 项目 | 值 |
|---|---|
| 服务器IP | 156.225.27.52(通过不同端口访问) |
| SSH端口 | 5204 |
| SSH用户名 | root |
| SSH密码 | Jsjj@8888 |
| 操作系统 | Ubuntu 24.04.2 LTS |
| Java版本 | OpenJDK 17.0.17 |
| Maven版本 | 3.8.7 |
| 作用 | 运行DesignHub应用 |
SSH连接命令:
ssh -p 5204 root@156.225.27.52
# 或使用sshpass
sshpass -p 'Jsjj@8888' ssh -p 5204 root@156.225.27.52
🏗️ 系统架构
用户浏览器
↓ HTTPS/TLS 1.3 (443端口)
https://qd.yydd.ai (公网服务器 156.225.27.52)
↓ Nginx反向代理 (SSL终止)
127.0.0.1:5246 (frp穿透端口)
↓ frp内网穿透
内网服务器 (Ubuntu 24.04)
↓ Nginx (127.0.0.1:8888)
后端Spring Boot (127.0.0.1:8080)
↓ JDBC
MySQL 8.0 (127.0.0.1:3306)
Redis (127.0.0.1:6379)
💾 数据库配置
MySQL 8.0
| 项目 | 值 |
|---|---|
| 主机 | localhost (内网服务器) |
| 端口 | 3306 |
| 数据库名 | designhub |
| 用户名 | designhub |
| 密码 | DesignHub@2025_DB |
| Root密码 | DesignHub@2025_Root |
| 字符集 | utf8mb4 |
| 数据表数 | 39个 |
连接命令:
# SSH到内网服务器
ssh -p 5204 root@156.225.27.52
# 连接MySQL
mysql -u designhub -p'DesignHub@2025_DB' designhub
数据库备份:
# 备份
mysqldump -u designhub -p'DesignHub@2025_DB' designhub > backup_$(date +%Y%m%d_%H%M%S).sql
# 恢复
mysql -u designhub -p'DesignHub@2025_DB' designhub < backup.sql
Redis
| 项目 | 值 |
|---|---|
| 主机 | localhost (内网服务器) |
| 端口 | 6379 |
| 密码 | DesignHub@2025_Redis |
| 数据库 | 0 |
连接命令:
# SSH到内网服务器
ssh -p 5204 root@156.225.27.52
# 连接Redis
redis-cli -a 'DesignHub@2025_Redis'
🔧 服务配置
端口分配
公网服务器
| 服务 | 端口 | 说明 |
|---|---|---|
| SSH | 50232 | 远程管理 |
| HTTP | 80 | 自动跳转到HTTPS |
| HTTPS | 443 | SSL加密访问 |
| DesignHub | 5246 | frp穿透后的应用端口 |
内网服务器
| 服务 | 端口 | 说明 |
|---|---|---|
| SSH | 5204 | 远程管理 |
| Nginx | 8888 | 前端和API代理 |
| 后端服务 | 8080 | Spring Boot应用 |
| MySQL | 3306 | 数据库 |
| Redis | 6379 | 缓存 |
| frp客户端 | 7000 | frp连接端口 |
📂 目录结构
公网服务器
/www/server/
├── nginx/
│ └── conf/
│ └── nginx.conf # Nginx主配置
├── panel/
│ └── vhost/
│ └── nginx/
│ └── qd.yydd.ai.conf # DesignHub站点配置
└── wwwroot/
└── qd.yydd.ai/ # SSL证书验证目录
/etc/letsencrypt/
└── live/
└── qd.yydd.ai/ # SSL证书
├── fullchain.pem # 完整证书链
├── privkey.pem # 私钥
├── cert.pem # 证书
└── chain.pem # 中间证书
/www/wwwlogs/
├── qd.yydd.ai.https.access.log # HTTPS访问日志
└── qd.yydd.ai.https.error.log # HTTPS错误日志
内网服务器
/opt/designhub/
├── backend/ # 后端源代码
│ ├── src/
│ ├── pom.xml
│ └── target/
├── frontend/ # 前端构建文件
│ ├── index.html
│ ├── assets/
│ └── ...
├── logs/ # 日志目录
│ ├── backend.log # 后端日志
│ └── application.log # 应用日志
├── uploads/ # 上传文件目录
└── designhub.jar # 运行的JAR包
/etc/
├── nginx/
│ └── sites-available/
│ └── designhub.conf # Nginx配置
├── systemd/
│ └── system/
│ └── designhub-backend.service # 后端服务
└── frp/
└── frpc.ini # frp客户端配置
📝 配置文件位置
公网服务器
| 配置 | 路径 | 说明 |
|---|---|---|
| Nginx主配置 | /www/server/nginx/conf/nginx.conf | 宝塔面板管理 |
| 站点配置 | /www/server/panel/vhost/nginx/qd.yydd.ai.conf | DesignHub站点配置 |
| SSL证书 | /etc/letsencrypt/live/qd.yydd.ai/ | Let's Encrypt证书 |
| 访问日志 | /www/wwwlogs/qd.yydd.ai.https.access.log | HTTPS访问日志 |
| 错误日志 | /www/wwwlogs/qd.yydd.ai.https.error.log | HTTPS错误日志 |
内网服务器
| 配置 | 路径 | 说明 |
|---|---|---|
| 后端配置 | /opt/designhub/backend/src/main/resources/application-prod.yml | Spring Boot配置 |
| Nginx配置 | /etc/nginx/sites-available/designhub.conf | 反向代理配置 |
| 后端服务 | /etc/systemd/system/designhub-backend.service | systemd服务配置 |
| frp配置 | /etc/frp/frpc.ini | frp客户端配置 |
| MySQL配置 | /etc/mysql/my.cnf | MySQL配置 |
| Redis配置 | /etc/redis/redis.conf | Redis配置 |
🔐 SSL证书配置
证书信息
| 项目 | 值 |
|---|---|
| 域名 | qd.yydd.ai |
| 证书提供商 | Let's Encrypt |
| 证书类型 | 免费DV证书 |
| 有效期 | 2025-12-23 至 2026-03-23 (90天) |
| 自动续期 | ✅ 已配置 |
| 协议 | TLS 1.2, TLS 1.3 |
| HTTP/2 | ✅ 已启用 |
证书续期
自动续期任务 (已配置):
# 每天凌晨2点检查续期
0 2 * * * certbot renew --quiet --post-hook 'nginx -s reload' >> /var/log/certbot-renew.log 2>&1
手动续期:
# SSH到公网服务器
ssh -p 50232 root@156.225.27.52
# 测试续期(不会实际续期)
certbot renew --dry-run
# 手动续期
certbot renew
nginx -s reload
🌐 frp内网穿透配置
frp客户端配置 (内网服务器)
配置文件: /etc/frp/frpc.ini
[common]
server_addr = 156.225.27.52
server_port = 7000
token = your_token_here
[designhub-web]
name = designhub-web
type = tcp
local_ip = 127.0.0.1
local_port = 8888
remote_port = 5246
服务管理:
# SSH到内网服务器
ssh -p 5204 root@156.225.27.52
# 启动frp客户端
systemctl start frpc
# 停止
systemctl stop frpc
# 重启
systemctl restart frpc
# 查看状态
systemctl status frpc
# 查看日志
journalctl -u frpc -f
🚀 运维命令
公网服务器管理
# SSH连接
ssh -p 50232 root@156.225.27.52
# Nginx管理
nginx -t # 测试配置
nginx -s reload # 重载配置(不中断服务)
systemctl restart nginx # 重启Nginx
systemctl status nginx # 查看状态
# 查看日志
tail -f /www/wwwlogs/qd.yydd.ai.https.access.log # 访问日志
tail -f /www/wwwlogs/qd.yydd.ai.https.error.log # 错误日志
# SSL证书管理
certbot certificates # 查看所有证书
certbot renew --dry-run # 测试续期
内网服务器管理
# SSH连接
ssh -p 5204 root@156.225.27.52
# 查看所有服务状态
systemctl status designhub-backend mysql nginx redis-server frpc
# 后端服务
systemctl start designhub-backend # 启动
systemctl stop designhub-backend # 停止
systemctl restart designhub-backend # 重启
systemctl status designhub-backend # 状态
journalctl -u designhub-backend -f # 查看日志
# Nginx
systemctl restart nginx # 重启
nginx -t # 测试配置
ss -tlnp | grep 8888 # 检查端口
# MySQL
systemctl restart mysql # 重启
systemctl status mysql # 状态
mysql -u designhub -p'DesignHub@2025_DB' designhub # 连接
# Redis
systemctl restart redis-server # 重启
systemctl status redis-server # 状态
redis-cli -a 'DesignHub@2025_Redis' # 连接
# frp客户端
systemctl restart frpc # 重启
systemctl status frpc # 状态
journalctl -u frpc -f # 查看日志
日志查看
# 后端应用日志
tail -f /opt/designhub/logs/backend.log
tail -f /opt/designhub/logs/application.log
# 后端服务日志
journalctl -u designhub-backend -f
journalctl -u designhub-backend -n 100 --no-pager
# Nginx日志(内网)
tail -f /var/log/nginx/access.log
tail -f /var/log/nginx/error.log
# frp日志
journalctl -u frpc -f
📦 部署更新流程
更新后端代码
# 1. 本地同步代码到内网服务器
cd /Users/lanmu/Desktop/qiangdanxitong/backend
rsync -avz --exclude='target' -e "ssh -p 5204" \
src/ root@156.225.27.52:/opt/designhub/backend/src/
# 2. SSH到内网服务器编译
ssh -p 5204 root@156.225.27.52
cd /opt/designhub/backend
mvn clean package -DskipTests
# 3. 替换JAR包
cp target/designhub-backend-1.0.0.jar /opt/designhub/designhub.jar
# 4. 重启后端服务
systemctl restart designhub-backend
# 5. 验证服务
systemctl status designhub-backend
tail -f /opt/designhub/logs/backend.log
# 6. 测试访问
curl -I https://qd.yydd.ai
更新前端代码
# 1. 本地构建
cd /Users/lanmu/Desktop/qiangdanxitong/frontend
pnpm build
# 2. 上传到内网服务器
rsync -avz -e "ssh -p 5204" \
dist/ root@156.225.27.52:/opt/designhub/frontend/
# 3. 清除浏览器缓存(当前配置已禁用Nginx缓存)
# 直接刷新浏览器即可看到更新
# 4. 测试访问
curl -I https://qd.yydd.ai
一键部署脚本
#!/bin/bash
# 保存为 deploy.sh
echo "=== DesignHub 一键部署 ==="
# 后端部署
echo "【1/4】同步后端代码..."
rsync -avz --exclude='target' -e "ssh -p 5204" \
backend/src/ root@156.225.27.52:/opt/designhub/backend/src/
echo "【2/4】编译后端..."
ssh -p 5204 root@156.225.27.52 << 'EOF'
cd /opt/designhub/backend
mvn clean package -DskipTests
cp target/designhub-backend-1.0.0.jar /opt/designhub/designhub.jar
systemctl restart designhub-backend
EOF
# 前端部署
echo "【3/4】构建前端..."
cd frontend
pnpm build
echo "【4/4】上传前端..."
rsync -avz -e "ssh -p 5204" \
dist/ root@156.225.27.52:/opt/designhub/frontend/
echo ""
echo "✅ 部署完成!"
echo "访问地址: https://qd.yydd.ai"
使用方法:
chmod +x deploy.sh
./deploy.sh
🔍 故障排查
1. HTTPS无法访问
# 检查公网服务器Nginx
ssh -p 50232 root@156.225.27.52
systemctl status nginx
nginx -t
tail -50 /www/wwwlogs/qd.yydd.ai.https.error.log
# 检查SSL证书
openssl x509 -in /etc/letsencrypt/live/qd.yydd.ai/fullchain.pem -noout -dates
# 检查端口监听
ss -tlnp | grep 443
2. 后端服务无法启动
# SSH到内网服务器
ssh -p 5204 root@156.225.27.52
# 查看详细日志
journalctl -u designhub-backend --no-pager -n 100
# 检查端口占用
ss -tlnp | grep 8080
# 手动启动测试
cd /opt/designhub
java -jar designhub.jar --spring.profiles.active=prod
# 检查配置文件
cat /opt/designhub/backend/src/main/resources/application-prod.yml
3. 数据库连接失败
# 检查MySQL状态
systemctl status mysql
# 测试连接
mysql -u designhub -p'DesignHub@2025_DB' -e "SELECT 1"
# 检查用户权限
mysql -u root -p'DesignHub@2025_Root' -e "SHOW GRANTS FOR 'designhub'@'localhost';"
# 查看错误日志
tail -50 /var/log/mysql/error.log
4. frp穿透失败
# SSH到内网服务器
ssh -p 5204 root@156.225.27.52
# 检查frpc状态
systemctl status frpc
# 查看日志
journalctl -u frpc -n 100 --no-pager
# 测试本地服务
curl -I http://127.0.0.1:8888
# 测试穿透后端口
curl -I http://127.0.0.1:5246
5. Nginx 502错误
# 检查后端服务是否运行
ssh -p 5204 root@156.225.27.52
systemctl status designhub-backend
# 检查Nginx配置
nginx -t
# 查看错误日志
tail -50 /var/log/nginx/error.log
# 测试后端连接
curl -I http://127.0.0.1:8080/api/health
6. 页面更新不生效
# 当前配置已禁用Nginx缓存,直接刷新即可
# 如仍有问题,检查前端文件
ssh -p 5204 root@156.225.27.52
ls -la /opt/designhub/frontend/
cat /opt/designhub/frontend/index.html
# 清除浏览器缓存
# Chrome: Ctrl+Shift+Delete
# 或使用无痕模式测试
📊 监控检查
健康检查命令
# 一键检查所有服务(内网服务器)
ssh -p 5204 root@156.225.27.52 << 'EOF'
echo "=== DesignHub 服务状态 ==="
echo ""
echo "【后端服务】"
systemctl is-active designhub-backend
echo ""
echo "【MySQL】"
systemctl is-active mysql
echo ""
echo "【Redis】"
systemctl is-active redis-server
echo ""
echo "【Nginx】"
systemctl is-active nginx
echo ""
echo "【frp客户端】"
systemctl is-active frpc
echo ""
echo "【端口监听】"
ss -tlnp | grep -E "8080|8888|3306|6379"
EOF
# 检查公网服务器
ssh -p 50232 root@156.225.27.52 << 'EOF'
echo "=== 公网服务器状态 ==="
echo ""
echo "【Nginx】"
systemctl is-active nginx
echo ""
echo "【SSL证书有效期】"
openssl x509 -in /etc/letsencrypt/live/qd.yydd.ai/fullchain.pem -noout -dates
EOF
性能监控
# CPU和内存使用
ssh -p 5204 root@156.225.27.52
top -bn1 | head -20
# 磁盘使用
df -h
# 网络连接
ss -s
# 后端JVM内存
jps -lv
🌐 DNS配置
域名解析配置
| 类型 | 主机记录 | 记录值 | TTL |
|---|---|---|---|
| A记录 | qd | 156.225.27.52 | 600 |
验证DNS解析
# 查询域名解析
nslookup qd.yydd.ai
# Ping测试
ping qd.yydd.ai
# 详细查询
dig qd.yydd.ai
🔒 安全配置
防火墙规则
公网服务器:
- 开放端口: 50232(SSH), 80(HTTP), 443(HTTPS)
- 通过宝塔面板管理
内网服务器:
# 查看防火墙状态
ufw status
# 开放必要端口(如需要)
ufw allow 5204/tcp # SSH
ufw allow 8888/tcp # Nginx
SSH安全
建议:
- ✅ 使用非标准SSH端口(已实施:50232、5204)
- ✅ 使用强密码
- 建议: 配置SSH密钥认证
- 建议: 禁用root密码登录(配置密钥后)
🎯 快速参考
常用命令速查
# ============ 公网服务器 ============
# SSH连接
ssh -p 50232 root@156.225.27.52
# 重载Nginx
nginx -s reload
# 查看HTTPS日志
tail -f /www/wwwlogs/qd.yydd.ai.https.access.log
# SSL证书续期
certbot renew
# ============ 内网服务器 ============
# SSH连接
ssh -p 5204 root@156.225.27.52
# 重启后端
systemctl restart designhub-backend
# 查看后端日志
tail -f /opt/designhub/logs/backend.log
# 连接数据库
mysql -u designhub -p'DesignHub@2025_DB' designhub
# 连接Redis
redis-cli -a 'DesignHub@2025_Redis'
# 查看所有服务状态
systemctl status designhub-backend mysql nginx redis-server frpc
# ============ 本地开发 ============
# 部署后端
rsync -avz --exclude='target' -e "ssh -p 5204" backend/src/ root@156.225.27.52:/opt/designhub/backend/src/
ssh -p 5204 root@156.225.27.52 'cd /opt/designhub/backend && mvn clean package -DskipTests && cp target/*.jar /opt/designhub/designhub.jar && systemctl restart designhub-backend'
# 部署前端
cd frontend && pnpm build
rsync -avz -e "ssh -p 5204" dist/ root@156.225.27.52:/opt/designhub/frontend/
# 测试访问
curl -I https://qd.yydd.ai
📚 相关文档
- 🎉 项目部署完成-最终报告.md - 完整部署记录
- 域名和HTTPS配置指南.md - SSL证书配置详解
- Nginx缓存配置说明.md - 缓存策略说明
- DesignHub访问地址.md - 访问地址汇总
- 最终开发总结.md - 功能开发总结
📞 技术支持
环境信息
公网服务器:
- 系统: CentOS 7 x86_64
- Nginx: 1.24.0
- Certbot: 1.11.0
内网服务器:
- 系统: Ubuntu 24.04.2 LTS
- Java: OpenJDK 17.0.17
- Maven: 3.8.7
- MySQL: 8.0
- Redis: 7.x
- Nginx: 1.24.x
访问测试
# HTTPS访问测试
curl -I https://qd.yydd.ai
# 应该返回:
# HTTP/2 200
# cache-control: no-store, no-cache, must-revalidate...
📝 更新历史
| 日期 | 版本 | 更新内容 |
|---|---|---|
| 2025-12-23 | v2.0 | 服务器迁移,添加域名和HTTPS |
| 2025-12-19 | v1.0 | 初始版本 |
🎯 系统状态
当前配置
- ✅ 域名: qd.yydd.ai
- ✅ HTTPS: 已启用(TLS 1.3)
- ✅ HTTP/2: 已启用
- ✅ SSL证书: Let's Encrypt(自动续期)
- ✅ 缓存策略: 已禁用(开发模式)
- ✅ frp穿透: 已配置(端口5246)
- ✅ 服务状态: 所有服务正常运行
性能指标
- 🚀 国内访问延迟: < 100ms
- 🚀 HTTPS加密: TLS 1.3 (0-RTT)
- 🚀 HTTP/2多路复用: 已启用
- 🚀 缓存策略: 无缓存(便于开发)
文档维护: 请在服务器配置变更后及时更新此文档
最后更新: 2025-12-23
状态: ✅ 生产环境运行中