qiangdanxitong/服务器和数据库配置清单.md

18 KiB
Raw Permalink Blame History

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
状态: ✅ 生产环境运行中