音乐播放平台部署流程

部署工具:

Navicat Premium 16,连接mysql数据库,执行sql脚本

RedisDesktopManager,连接云服务器redis数据库

云服务器开放端口

8080,8091,8089(音乐播放平台的服务端,客户端,管理端)

9000,9001(MinIO)

6379(Redis)

3306(Mysql)

1.配置mysql数据库

1.1登录数据库,授权数据库root用户远程连接。

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '数据库密码' WITH GRANT OPTION;
FLUSH PRIVILEGES;

1.2导入数据库至云服务器中,并将代码服务端数据库的配置改为云服务器的数据库

由于本机采用的是mysql8.0.43,云服务器是MariaDB 10.6.20,于是修改原来sql脚本中的排序规则,使其适配云服务器版本。

将utf8mb4_0900_ai_ci全部替换为utf8mb4_general_ci,执行sql脚本。

服务端添加pom依赖,修改安排application.yml中mysql相关的配置。

    <!-- 添加MariaDB驱动 -->
  <dependency>
      <groupId>org.mariadb.jdbc</groupId>
      <artifactId>mariadb-java-client</artifactId>
      <version>3.1.4</version>
  </dependency>
spring:
# 配置数据源
datasource:
  driver-class-name: org.mariadb.jdbc.Driver # 改为MariaDB驱动
  url: jdbc:mariadb://你的云服务器IP:3306/vibe_music?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=Asia/Shanghai # 修改为云服务器地址
  username: vibe_user # 修改为云服务器上的用户名
  password: 你的云服务器数据库密码 # 修改为云服务器上的密码
  type: com.alibaba.druid.pool.DruidDataSource # 配置连接池

1.3 执行sql脚本,替换原有的url地址

UPDATE tb_artist 
SET avatar = REPLACE(avatar, 'http://localhost:9000/', 'http://服务器ip:9000/')
WHERE avatar LIKE 'http://localhost:9000/%';
UPDATE tb_banner
SET banner_url = REPLACE(banner_url, 'http://localhost:9000/', 'http://服务器ip:9000/')
WHERE banner_url LIKE 'http://localhost:9000/%';
UPDATE tb_playlist
SET cover_url = REPLACE(cover_url, 'http://localhost:9000/', 'http://服务器ip:9000/')
WHERE cover_url LIKE 'http://localhost:9000/%';
UPDATE tb_song
SET cover_url = REPLACE(cover_url, 'http://localhost:9000/', 'http://服务器ip:9000/')
WHERE cover_url LIKE 'http://localhost:9000/%';
UPDATE tb_song
SET audio_url = REPLACE(audio_url, 'http://localhost:9000/', 'http://服务器ip:9000/')
WHERE audio_url LIKE 'http://localhost:9000/%';

2.配置redis

2.1宝塔面板安装redis6.2.21版本,设置密码,允许外部连接

将配置文件中的bind 127.0.0.1 改为bind 0.0.0.0,并设置密码

bind 0.0.0.0
requirepass 密码

2.2修改application.yml中redis相关配置

spring:
data:
  redis:
    database:
    host:
    port:
    password:

3.配置minio

3.1宝塔面板安装minio(docker版),这里宝塔启动的minio不会启动9001端口,对此关闭当前minio容器,然后自己启动官方镜像。

docker stop dk_minio-minio-1
docker rm dk_minio-minio-1
docker run -d \
--name minio \
-p 9000:9000 \
-p 9001:9001 \
-e MINIO_ROOT_USER=用户名 \
-e MINIO_ROOT_PASSWORD=密码 \
-v /www/dk_project/dk_app/dk_minio/data:/data \
minio/minio server /data --console-address ":9001"

3.2登录minio后台,创建桶,把数据都传上去(数据上传时网络要稳定)

http://云服务器ip:9000

3.3安装mc工具,设置桶访问权限

# 下载 mc 客户端 (Linux 64位版本)
wget https://dl.min.io/client/mc/release/linux-amd64/mc
# 赋予执行权限
chmod +x mc
# 将其移动到系统可执行文件路径,方便全局调用
sudo mv mc /usr/local/bin/
# 验证安装是否成功
mc --version
#设置别名
mc alias set myminio http://服务器ip:9000 用户名 密码
#设置权限
mc anonymous set download myminio/vibe-music-data
#测试权限
mc anonymous get myminio/vibe-music-data

3.4后端服务端修改application.yml配置

minio:
endpoint: http://云服务器ip:9000 # 修改你的 MinIO 端点
accessKey: # 修改你的用户名
secretKey: # 修改你的密码
bucket: # 桶的名称

4.部署服务端

4.1maven命令构建jar包,打开宝塔面板,放到任意位置,点击网站—java项目,项目jdk选择jdk17,项目路径选择jar包所在位置

5.部署客户端

5.1宝塔面板—网站—php项目,域名填写云服务器ip:8091,php项目选择纯静态,创建网站。

5.2客户端输入pnpm build命令,生成dist文件夹,关闭网站后将其中内容拖放到该网站对应位置下。

5.3修改网站的配置文件,添加下面代码

    # 核心配置:支持前端路由(Vue/React的history模式)
  location / {
      # 首先尝试访问实际文件,如果没有则返回index.html由前端路由处理
      try_files $uri $uri/ /index.html;
  }
   
  # 反向代理到后端API(假设后端运行在8080端口)
  location /api/ {
      proxy_pass http://127.0.0.1:8080/;
      proxy_set_header Host $host;
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header X-Forwarded-Proto $scheme;
       
      # 超时设置
      proxy_connect_timeout 60s;
      proxy_send_timeout 60s;
      proxy_read_timeout 60s;
  }

5.4打开客户端部署包的地址,输入以下命令,修改环境变量为/api,使其通过nginx代理,重启nginx

sed -i 's|baseURL:"http://localhost:8080"|baseURL:"/api"|g' ./static/js/index-Di7SMdHA.js

5.5.访问客户端网址,测试是否部署成功

http://云服务器ip:8091/

6.部署管理端(类似客户端)

sed -i 's|baseURL:"http://localhost:8080"|baseURL:"/api"|g' ./static/js/index-BvJ3iHAf.js
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇