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

332 lines
7.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 远程服务器配置操作指南
## 方法一:使用宝塔面板(推荐)
### 1. 编辑配置文件
在宝塔面板中:
1. 点击左侧菜单 **文件**
2. 导航到 `/www/wwwroot/px.ddn-ai.cloud/jar/`
3. 找到 `application.yml` 文件
4. 点击 **编辑**
### 2. 粘贴配置内容
将以下内容完整复制并粘贴到 `application.yml` 文件中:
```yaml
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. 执行以下命令:
```bash
cd /www/wwwroot/px.ddn-ai.cloud/jar
bash start.sh
```
或者直接在宝塔终端中执行:
```bash
# 停止旧服务
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. 登录服务器
```bash
ssh root@px.ddn-ai.cloud
```
### 2. 编辑配置文件
```bash
cd /www/wwwroot/px.ddn-ai.cloud/jar
vi application.yml
```
`i` 进入编辑模式,粘贴上面的配置内容,然后:
-`Esc` 退出编辑模式
- 输入 `:wq` 保存并退出
### 3. 重启服务
```bash
bash start.sh
```
### 4. 查看日志
```bash
tail -f logs/app.log
```
## 验证配置
### 1. 测试上传接口
在本地电脑上执行:
```bash
curl -X POST https://px.ddn-ai.cloud/api/file/upload/direct \
-F "file=@test.jpg"
```
应该返回:
```json
{
"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
```
应该能正常显示图片。
## 关键配置说明
### 最重要的配置项
```yaml
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-prefix``localhost`,前端就无法加载图片
### 配置流程图
```
本地前端 → 本地后端(remote模式) → 远程服务器(local模式)
保存到 /www/.../Image/
返回 https://px.ddn-ai.cloud/uploads/xxx.jpg
本地后端转发给前端
前端显示图片 ✅
```
## 常见问题
### Q1: 配置后还是返回localhost地址
**原因:** 服务没有重启,还在使用旧配置
**解决:**
```bash
# 强制停止
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配置问题或文件权限问题
**解决:**
```bash
# 检查文件是否存在
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** 查看启动日志
```bash
tail -100 /www/wwwroot/px.ddn-ai.cloud/jar/logs/app.log | grep "文件上传配置"
```
**方法2** 测试上传接口
```bash
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