peixue-dev/peidu/Archive/一次性文件/[一次性]远程服务器配置操作指南-2026-01-26.md

7.2 KiB
Raw Blame History

远程服务器配置操作指南

方法一:使用宝塔面板(推荐)

1. 编辑配置文件

在宝塔面板中:

  1. 点击左侧菜单 文件
  2. 导航到 /www/wwwroot/px.ddn-ai.cloud/jar/
  3. 找到 application.yml 文件
  4. 点击 编辑

2. 粘贴配置内容

将以下内容完整复制并粘贴到 application.yml 文件中:

server:
  port: 8089
  servlet:
    context-path: /
  tomcat:
    uri-encoding: UTF-8

spring:
  application:
    name: peidu-backend
  profiles:
    active: prod
  mvc:
    pathmatch:
      matching-strategy: ant_path_matcher
  servlet:
    multipart:
      max-file-size: 10MB
      max-request-size: 10MB
  jackson:
    date-format: yyyy-MM-dd HH:mm:ss
    time-zone: GMT+8
  http:
    encoding:
      charset: UTF-8
      enabled: true
      force: true
  datasource:
    url: ${SPRING_DATASOURCE_URL}
    username: ${DB_USERNAME}
    password: ${DB_PASSWORD}
    driver-class-name: com.mysql.cj.jdbc.Driver
    hikari:
      minimum-idle: 5
      maximum-pool-size: 20
      connection-timeout: 30000
      idle-timeout: 600000
      max-lifetime: 1800000

mybatis-plus:
  mapper-locations: classpath*:/mapper/**/*.xml
  type-aliases-package: com.peidu.entity
  configuration:
    map-underscore-to-camel-case: true
    cache-enabled: false
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
  global-config:
    db-config:
      id-type: auto
      logic-delete-field: deleted
      logic-delete-value: 1
      logic-not-delete-value: 0

logging:
  level:
    com.peidu: info
    root: info
  pattern:
    console: '%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{50} - %msg%n'
  file:
    name: /www/wwwroot/px.ddn-ai.cloud/jar/logs/app.log

# ========================================
# 文件上传配置 (关键配置)
# ========================================
file:
  upload:
    mode: local
    local-path: /www/wwwroot/px.ddn-ai.cloud/Image/
    url-prefix: https://px.ddn-ai.cloud/uploads/
    allowed-types: jpg,jpeg,png,gif,bmp,webp,pdf,doc,docx,xls,xlsx
    max-size: 10

jwt:
  secret: ${JWT_SECRET}
  expiration: 604800

wx:
  appid: ${WX_APPID}
  secret: ${WX_SECRET}

wechat:
  pay:
    appid: ${WX_PAY_APPID}
    mchid: ${WX_PAY_MCHID}
    key: ${WX_PAY_KEY}
    cert-path: classpath:cert/apiclient_cert.p12
    notify-url: https://px.ddn-ai.cloud/api/payment/notify/wechat

sms:
  skip-send: false
  aliyun:
    access-key-id: ${ALIYUN_SMS_ACCESS_KEY}
    access-key-secret: ${ALIYUN_SMS_ACCESS_SECRET}
    sign-name: ${SMS_SIGN_NAME}
    template-code: ${SMS_TEMPLATE_VERIFY_CODE}
    region: cn-hangzhou

aliyun:
  oss:
    endpoint: ${ALIYUN_OSS_ENDPOINT:}
    access-key-id: ${ALIYUN_OSS_ACCESS_KEY:}
    access-key-secret: ${ALIYUN_OSS_ACCESS_SECRET:}
    bucket-name: ${ALIYUN_OSS_BUCKET:}
    domain: ${ALIYUN_OSS_DOMAIN:}

3. 保存文件

点击 保存 按钮

4. 重启服务

在宝塔面板中:

  1. 找到 start.sh 文件
  2. 点击 终端 按钮
  3. 执行以下命令:
cd /www/wwwroot/px.ddn-ai.cloud/jar
bash start.sh

或者直接在宝塔终端中执行:

# 停止旧服务
ps aux | grep peidu-backend | grep -v grep | awk '{print $2}' | xargs kill -9

# 启动新服务
cd /www/wwwroot/px.ddn-ai.cloud/jar
bash start.sh

5. 查看日志

在宝塔面板中:

  1. 导航到 /www/wwwroot/px.ddn-ai.cloud/jar/logs/
  2. 打开 app.log 文件
  3. 查找以下内容,确认配置生效:
========================================
📁 文件上传配置初始化
上传模式: local
本地保存路径: /www/wwwroot/px.ddn-ai.cloud/Image/
✅ 本地保存模式
访问URL前缀: https://px.ddn-ai.cloud/uploads/
========================================

方法二使用SSH命令行

1. 登录服务器

ssh root@px.ddn-ai.cloud

2. 编辑配置文件

cd /www/wwwroot/px.ddn-ai.cloud/jar
vi application.yml

i 进入编辑模式,粘贴上面的配置内容,然后:

  • Esc 退出编辑模式
  • 输入 :wq 保存并退出

3. 重启服务

bash start.sh

4. 查看日志

tail -f logs/app.log

验证配置

1. 测试上传接口

在本地电脑上执行:

curl -X POST https://px.ddn-ai.cloud/api/file/upload/direct \
  -F "file=@test.jpg"

应该返回:

{
  "code": 200,
  "message": "上传成功",
  "data": {
    "fileName": "20260126_xxx.jpg",
    "fileUrl": "https://px.ddn-ai.cloud/uploads/20260126_xxx.jpg",
    "fileSize": "12345",
    "fileType": "jpg"
  }
}

关键检查: fileUrl 必须是 https://px.ddn-ai.cloud/uploads/...

2. 测试本地管理后台上传

  1. 打开本地管理后台
  2. 进入轮播图管理
  3. 上传一张图片
  4. 检查返回的URL是否为 https://px.ddn-ai.cloud/uploads/...
  5. 检查图片是否能正常显示

3. 直接访问图片

在浏览器中访问:

https://px.ddn-ai.cloud/uploads/20260126_xxx.jpg

应该能正常显示图片。

关键配置说明

最重要的配置项

file:
  upload:
    mode: local                                          # 远程服务器使用local模式
    local-path: /www/wwwroot/px.ddn-ai.cloud/Image/     # 文件保存路径
    url-prefix: https://px.ddn-ai.cloud/uploads/        # ⚠️ 必须是远程地址!

为什么url-prefix必须是远程地址

因为:

  1. 本地开发环境会调用远程服务器的 /api/file/upload/direct 接口
  2. 远程服务器保存文件后,返回 fileUrl
  3. 这个 fileUrl 会被本地后端转发给前端
  4. 前端使用这个 fileUrl 来显示图片
  5. 如果 url-prefixlocalhost,前端就无法加载图片

配置流程图

本地前端 → 本地后端(remote模式) → 远程服务器(local模式)
                                        ↓
                              保存到 /www/.../Image/
                                        ↓
                    返回 https://px.ddn-ai.cloud/uploads/xxx.jpg
                                        ↓
                              本地后端转发给前端
                                        ↓
                              前端显示图片 ✅

常见问题

Q1: 配置后还是返回localhost地址

原因: 服务没有重启,还在使用旧配置

解决:

# 强制停止
ps aux | grep peidu-backend | grep -v grep | awk '{print $2}' | xargs kill -9

# 重新启动
cd /www/wwwroot/px.ddn-ai.cloud/jar
bash start.sh

Q2: 图片上传成功但无法访问?

原因: Nginx配置问题或文件权限问题

解决:

# 检查文件是否存在
ls -la /www/wwwroot/px.ddn-ai.cloud/Image/

# 修改权限
chmod 755 /www/wwwroot/px.ddn-ai.cloud/Image/
chmod 644 /www/wwwroot/px.ddn-ai.cloud/Image/*

# 检查Nginx配置
cat /www/server/panel/vhost/nginx/px.ddn-ai.cloud.conf | grep uploads

Q3: 如何查看当前配置是否生效?

方法1 查看启动日志

tail -100 /www/wwwroot/px.ddn-ai.cloud/jar/logs/app.log | grep "文件上传配置"

方法2 测试上传接口

curl -X POST https://px.ddn-ai.cloud/api/file/upload/direct \
  -F "file=@test.jpg" | jq .data.fileUrl

应该输出:"https://px.ddn-ai.cloud/uploads/xxx.jpg"

日期

2026-01-26