|
|
před 1 měsícem | |
|---|---|---|
| .comments | před 1 měsícem | |
| .cursor | před 1 měsícem | |
| backend | před 1 měsícem | |
| frontend_flutter | před 1 měsícem | |
| .env.example | před 1 měsícem | |
| .gitignore | před 1 měsícem | |
| DEPLOY_SERVER.md | před 1 měsícem | |
| README_DEPLOY.md | před 1 měsícem | |
| deploy.sh | před 1 měsícem | |
| docker-compose.yml | před 1 měsícem | |
| server-deploy.sh | před 1 měsícem | |
| start.sh | před 1 měsícem | |
| 进度报告.md | před 1 měsícem |
# 1. 进入项目根目录
cd lingyue-zhibao
# 2. 赋予执行权限
chmod +x deploy.sh
# 3. 启动服务(不包含 OCR)
./deploy.sh start
# 或者启动完整服务(包含 PaddleOCR)
./deploy.sh start-with-ocr
# 1. 编译项目
cd backend
mvn clean package -DskipTests
cd ..
# 2. 复制环境变量配置
cp .env.example .env
# 3. 修改 .env 文件中的配置(特别是 JWT_SECRET 和 API 密钥)
vim .env
# 4. 启动服务
docker-compose up -d
# 5. 查看日志
docker-compose logs -f lingyue-app
# 克隆或进入项目目录
cd lingyue-zhibao
# 复制环境配置文件
cp .env.example .env
编辑 .env 文件,修改以下重要配置:
# 数据库密码(生产环境务必修改!)
DB_PASSWORD=your-strong-password
# JWT 密钥(生产环境务必修改!)
JWT_SECRET=your-very-long-random-secret-key
# DeepSeek API Key(如需 AI 功能)
DEEPSEEK_API_KEY=your-deepseek-api-key
# 完整启动(包含所有服务)
docker-compose --profile with-ocr up -d
# 或者不启动 OCR 服务
docker-compose up -d
# 查看服务状态
docker-compose ps
# 查看应用日志
docker-compose logs -f lingyue-app
# 健康检查
curl http://localhost:8000/actuator/health
# Ubuntu/Debian
sudo apt update
sudo apt install postgresql-16
# 创建数据库
sudo -u postgres psql
CREATE DATABASE lingyue_zhibao;
CREATE USER lingyue WITH PASSWORD '123123';
GRANT ALL PRIVILEGES ON DATABASE lingyue_zhibao TO lingyue;
# Ubuntu/Debian
sudo apt install redis-server
# 启动 Redis
sudo systemctl start redis-server
sudo systemctl enable redis-server
# Ubuntu/Debian
sudo apt install rabbitmq-server
# 启动 RabbitMQ
sudo systemctl start rabbitmq-server
sudo systemctl enable rabbitmq-server
# 启用管理插件
sudo rabbitmq-plugins enable rabbitmq_management
# 创建用户
sudo rabbitmqctl add_user admin admin123
sudo rabbitmqctl set_user_tags admin administrator
sudo rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"
cd backend
mvn clean package -DskipTests
编辑 backend/lingyue-starter/src/main/resources/application.properties:
# 数据库配置
spring.datasource.druid.url=jdbc:postgresql://localhost:5432/lingyue_zhibao
spring.datasource.druid.username=lingyue
spring.datasource.druid.password=123123
# Redis配置
spring.data.redis.host=localhost
spring.data.redis.port=6379
# RabbitMQ配置
spring.rabbitmq.host=localhost
spring.rabbitmq.port=5672
spring.rabbitmq.username=admin
spring.rabbitmq.password=admin123
# JWT配置
jwt.secret=your-jwt-secret-key
或者通过环境变量配置(推荐用于生产环境):
export DB_USERNAME=lingyue
export DB_PASSWORD=123123
export JWT_SECRET=your-very-long-random-secret-key
# 方式一: 使用 java -jar
cd backend/lingyue-starter/target
java -jar lingyue-starter.jar
# 方式二: 使用 Maven
cd backend
mvn spring-boot:run -pl lingyue-starter
# 方式三: 后台运行
nohup java -jar lingyue-starter.jar > app.log 2>&1 &
创建服务文件 /etc/systemd/system/lingyue-zhibao.service:
[Unit]
Description=Lingyue Zhibao Application
After=network.target postgresql.service redis.service
[Service]
Type=simple
User=lingyue
WorkingDirectory=/opt/lingyue-zhibao
ExecStart=/usr/bin/java -Xms512m -Xmx1024m -jar /opt/lingyue-zhibao/lingyue-starter.jar
Restart=on-failure
RestartSec=10
[Install]
WantedBy=multi-user.target
启动服务:
sudo systemctl daemon-reload
sudo systemctl start lingyue-zhibao
sudo systemctl enable lingyue-zhibao
sudo systemctl status lingyue-zhibao
| 变量名 | 说明 | 默认值 |
|---|---|---|
| DB_USERNAME | 数据库用户名 | postgres |
| DB_PASSWORD | 数据库密码 | postgres |
| REDIS_HOST | Redis 主机 | localhost |
| REDIS_PORT | Redis 端口 | 6379 |
| REDIS_PASSWORD | Redis 密码 | (空) |
| RABBITMQ_HOST | RabbitMQ 主机 | localhost |
| RABBITMQ_PORT | RabbitMQ 端口 | 5672 |
| RABBITMQ_USERNAME | RabbitMQ 用户名 | guest |
| RABBITMQ_PASSWORD | RabbitMQ 密码 | guest |
| JWT_SECRET | JWT 密钥 | (需修改) |
| PADDLEOCR_SERVER_URL | PaddleOCR 服务地址 | http://localhost:8866 |
| DEEPSEEK_API_KEY | DeepSeek API 密钥 | (需配置) |
| 服务 | 端口 | 说明 |
|---|---|---|
| 应用主服务 | 8000 | 主应用端口 |
| PostgreSQL | 5432 | 数据库端口 |
| Redis | 6379 | 缓存服务端口 |
| RabbitMQ | 5672 | 消息队列端口 |
| RabbitMQ 管理 | 15672 | RabbitMQ 管理界面 |
| PaddleOCR | 8866 | OCR 服务端口 |
问题: 应用启动时提示数据库连接失败
解决方案:
# 检查 PostgreSQL 是否运行
docker-compose ps postgres
# 或
sudo systemctl status postgresql
# 检查数据库配置
docker-compose exec postgres psql -U postgres -c "SELECT 1"
# 查看详细日志
docker-compose logs postgres
问题: Redis 连接超时或拒绝连接
解决方案:
# 检查 Redis 是否运行
docker-compose ps redis
# 或
sudo systemctl status redis
# 测试 Redis 连接
redis-cli ping
问题: 服务启动失败,提示端口已被占用
解决方案:
# 查看占用端口的进程
sudo lsof -i :8000
sudo netstat -tulpn | grep 8000
# 修改 docker-compose.yml 中的端口映射
# 例如将 8000:8000 改为 8080:8000
问题: 应用运行缓慢或频繁重启
解决方案:
修改 Dockerfile 中的 JVM 参数:
ENV JAVA_OPTS="-Xms1024m -Xmx2048m -XX:+UseG1GC"
或在启动时指定:
docker-compose up -d --build
# Docker 部署
docker-compose logs -f lingyue-app
# 传统部署
tail -f /opt/lingyue-zhibao/logs/lingyue.log
# systemd 服务
sudo journalctl -u lingyue-zhibao -f
# Docker 环境
docker-compose down -v # 删除所有卷
docker-compose up -d
# 传统部署
sudo -u postgres psql
DROP DATABASE lingyue_zhibao;
CREATE DATABASE lingyue_zhibao;
# 生产环境建议
JAVA_OPTS="-Xms2g -Xmx4g \
-XX:+UseG1GC \
-XX:MaxGCPauseMillis=200 \
-XX:+HeapDumpOnOutOfMemoryError \
-XX:HeapDumpPath=/app/logs"
-- 增加连接池大小
ALTER SYSTEM SET max_connections = 200;
-- 优化缓存
ALTER SYSTEM SET shared_buffers = '256MB';
ALTER SYSTEM SET effective_cache_size = '1GB';
# 增加最大内存
redis-cli CONFIG SET maxmemory 2gb
redis-cli CONFIG SET maxmemory-policy allkeys-lru
# 备份
docker-compose exec postgres pg_dump -U postgres lingyue_zhibao > backup.sql
# 恢复
docker-compose exec -T postgres psql -U postgres lingyue_zhibao < backup.sql
# 备份上传文件
docker run --rm -v lingyue_app_data:/data -v $(pwd):/backup ubuntu tar czf /backup/app_data_backup.tar.gz /data
如有问题,请联系: