服务器迁移.md
# 服务器迁移
> 2026/08/20 | 记录

当前使用的是从 rocknerd 购买的 3C4G vps,价格 59.99 刀,位于 San Jose,vps 主要用于:
- 博客系统
并使用 1panel 面板
## 博客系统
前端:vue
后端:java
数据库:MySQL
图床:openList
评论:remark42
## 数据库迁移
在 1panel 面板中安装 phpAdmin,MySQL的图形化网站
- 打开 phpAdmin 网站
- 创建数据库,如:tilex_blog,规则选择 utf8mb4_general_ci
- 导入表,如:posts.sql
- 检查
## 后端springboot迁移
准备两个文件:
- application.properties:配置文件
- jar 包
注意配置文件需更改为实际的 MySQL 运行环境:
- MySQL 容器名 + 实际端口
- MySQL root 密码
如:将下面示例的 【】替换为实际的数据
```properties
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://【1Panel-mysql-XXXXXXX:3306】/tilex_blog?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=【XXXXXXXX】
```
若后端启动失败,查看日志,将日志发给AI分析即可
验证:后端启动成功后,尝试 ip + 端口访问后端api,若api返回成功,则说明后端运行成功
## 前端
反向代理 + 配置前端路由重定向
在配置文件需添加:
```
location / {
try_files $uri $uri/ /index.html;
}
```
进行前端路由重定向配置,保存并重载 OpenResty 后,访问博客的其他页面,如 https://www.tilex.world/article/64, 才能正常打开
反向代理:

## 图床
图床从 alist迁移至openlist,并配置了 upload 用户用于图片上传,其中上传和图片回显是不同的两部分:
上传:
```
PicList
│
▼
upload 用户
│
▼
OpenList
│
▼
/mnt/blog-media/blog-images
│
Docker bind
▼
/data/blog-media/blog-images
```
图片回显:图片回显通过 nginx 进行反向代理,因此 openresty 容器需挂载到图床所挂载的实际目录,否则容器内是无法访问图床数据的
```
博客浏览器
│
▼
https://oss.tilex.world/blog-images/...
│
▼
Nginx
│
alias
▼
/data/blog-media/blog-images/...
```


## remark42
评论区分为两部分:remark42容器 + 反向代理
remark42 容器:进入 `docker-compose.yml` 所在目录,执行启动命令:
```cmd
docker compose up -d
```
```cmd
# 重启
docker compose restart
# 停止并删除容器,但保留 ./var 数据
docker compose down
# 拉取新镜像并重新启动
docker compose pull
docker compose up -d
```