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

332 lines
7.2 KiB
Markdown
Raw Normal View History

# 远程服务器配置操作指南
## 方法一:使用宝塔面板(推荐)
### 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