锋盈数科-知识库 Logo
首页
软件开发
计算机基础
Hello Halo
新手必读
关于本知识库
登录 →
锋盈数科-知识库 Logo
首页 软件开发 计算机基础 Hello Halo 新手必读 关于本知识库
登录
  1. 首页
  2. 单车部署文档

单车部署文档

0
  • 发布于 2025-07-12
  • 1 次阅读
黄健
黄健

一、环境说明

 

项目

版本 / 要求

操作系统

CentOS 7.x

宝塔面板

海外版 7.0.20

Docker

最新稳定版

面板语言

繁体中文

端口映射

2181(ZooKeeper)、5672/15672(RabbitMQ)、12375(Docker Remote API)、7999、8000、30002、7998(Java 服务)

二、服务器初始化

 

# 更新系统软件包

yum update -y

# 安装常用工具

yum install -y wget curl vim net-tools

三、安装海外版宝塔面板 7.0.20

 

# 执行安装命令

wget -O install.sh http://download.bt.cn/install/install-ubuntu.sh && bash install.sh ed848d

安装后操作

1. 记录面板登录地址、用户名和密码(安装完成后会显示)

2. 登录面板后,按照提示完成初始化设置

四、宝塔面板配置

1. 切换语言为繁体中文

• 登录宝塔面板后,点击顶部导航栏的「系统」

• 在下拉菜单中选择「语言」

• 在语言选择列表中点击「繁體中文」,完成切换

2. 安装基础软件

 

软件

安装路径

版本说明

MySQL(AliSQL)

资料库 → 安装 → 选择 AliSQL

默认版本

Nginx

网站 → 安装

最新稳定版

Redis

应用商店 → 搜索「Redis」→ 安装

默认版本

Docker

应用商店 → 搜索「Docker」→ 安装

最新稳定版

3. MySQL 配置与数据库操作

1. 创建数据库

◦ 登录宝塔面板,进入「资料库」→ 选择已安装的 MySQL

◦ 点击「数据库」→「添加数据库」

◦ 数据库名填写 ebike,用户名和密码自定义(建议记录下来,用于后续配置),点击「创建」

1. 导入数据库

◦ 找到刚创建的 ebike 数据库,点击「导入」

◦ 选择本地的数据库备份文件(如 .sql 格式),点击「开始导入」

◦ 等待导入完成,确认数据库表结构及数据无误

五、配置 Docker 远程连接 API

 

# 备份原有 Docker 服务配置文件

cp /usr/lib/systemd/system/docker.service /usr/lib/systemd/system/docker.service.bak

# 配置远程连接 API

echo 'ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:12375 -H unix:///var/run/docker.sock  -H fd:// --containerd=/run/containerd/containerd.sock' > /usr/lib/systemd/system/docker.service

# 重新加载系统服务并重启 Docker

systemctl daemon-reload

systemctl restart docker

systemctl enable docker

# 开放 12375 端口(宝塔面板和服务器防火墙均需设置)

# 宝塔面板:安全 → 防火墙 → 添加端口规则,端口填写 12375

六、部署 ZooKeeper 容器

1. 拉取 ZooKeeper 镜像

• 登录宝塔面板,进入「Docker」模块

• 点击「镜像管理」→「拉取镜像」

• 镜像名称填写 zookeeper,选择最新版本(默认标签 latest),点击「确定」

2. 创建并运行 ZooKeeper 容器

• 进入「容器列表」→「创建容器」

• 选择已拉取的 ZooKeeper 镜像

• 容器名称:自定义(如 zookeeper)

• 端口映射:添加规则「容器端口 2181 → 主机端口 2181」

• 点击「提交」完成创建

七、部署 RabbitMQ 容器

1. 拉取 RabbitMQ 镜像

• 进入宝塔面板「Docker」模块 →「镜像管理」→「拉取镜像」

• 镜像名称填写 rabbitmq,标签选择 management(带管理界面版本),点击「确定」

2. 创建并运行 RabbitMQ 容器

• 进入「容器列表」→「创建容器」

• 选择已拉取的 RabbitMQ 镜像(带 management 标签)

• 容器名称:自定义(如 rabbitmq)

• 端口映射:

◦ 添加规则「容器端口 5672 → 主机端口 5672」

◦ 添加规则「容器端口 15672 → 主机端口 15672」

• 点击「提交」完成创建

3. 开启 RabbitMQ 远程访问插件

 

# 进入 RabbitMQ 容器

docker exec -it [容器ID或容器名称] /bin/bash

# 开启远程访问插件

rabbitmq-plugins enable rabbitmq_web_stomp rabbitmq_stomp

# 退出容器

exit

八、服务验证

1. 验证 Docker 远程 API

 

# 执行以下命令,返回版本信息即表示配置成功

curl http://localhost:12375/version

2. 验证 ZooKeeper

 

# 进入 ZooKeeper 容器

docker exec -it [容器ID或容器名称] /bin/bash

# 连接 ZooKeeper 服务

zkCli.sh -server localhost:2181

# 若出现 "Connected to localhost:2181" 提示,则表示运行正常

# 输入 quit 退出连接

3. 验证 RabbitMQ

• 访问管理界面:在浏览器中输入 http://服务器IP:15672

• 使用默认账号密码登录(初始账号密码均为 guest,首次登录建议修改)

• 若能成功登录并看到管理界面,则表示运行正常

九、Java 服务部署

1. 配置文件修改

1. yml 配置文件调整

◦ 打开项目的 application.yml(或 application-prod.yml 等环境配置文件)

◦ 配置 MySQL 连接信息:修改 spring.datasource.url 为服务器 IP 及 ebike 数据库名,如 jdbc:mysql://服务器IP:3306/ebike?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai

◦ 配置 Redis、ZooKeeper、RabbitMQ 等服务地址,确保与服务器实际部署地址一致

◦ 保存并确认配置文件无误

1. pom.xml 配置修改

 

<configuration>

    <!-- 镜像名称 -->

    <imageName>ebike-${project.artifactId}-${build.time}</imageName>

    <!-- 指定标签 -->

    <imageTags>

        <imageTag>latest</imageTag>

    </imageTags>

    <!-- 基础镜像-->

    <baseImage>openjdk:8-jdk-alpine</baseImage>

    <!-- 切换到容器工作目录-->

    <workdir>/opt/</workdir>

    <entryPoint>["java","-jar","${project.build.finalName}.jar"]</entryPoint>

    <!-- 指定远程 Docker API地址  -->

    <dockerHost>http://你的服务器ip:12375</dockerHost>

</configuration>

◦ 找到 pom.xml 中 Docker 相关的 configuration 配置,修改为以下内容:

2. 多模块项目打包顺序

1. 打包顺序说明

◦ 先打包 api 模块:该模块为基础接口模块,需优先构建以确保其他依赖模块可正常引用

◦ 再打包 service 模块:该模块依赖 api 模块,需在 api 模块打包完成后进行

◦ 其余模块(如 gateway、interface、admin 等)不分先后顺序,可在 service 模块打包完成后依次或并行打包

1. 打包命令示例

 

# 进入项目根目录

cd /path/to/project/root

# 打包 api 模块

mvn clean package -pl api -am -Dmaven.test.skip=true

# 打包 service 模块

mvn clean package -pl service -am -Dmaven.test.skip=true

# 打包其余模块(以 gateway 为例,其他模块同理)

mvn clean package -pl gateway -am -Dmaven.test.skip=true

◦ 说明:-pl 指定要构建的模块,-am 表示同时构建所选模块的依赖模块,-Dmaven.test.skip=true 跳过测试用例

3. 构建并上传镜像

1. 按照上述打包顺序执行构建命令,生成各模块的 Docker 镜像并上传至服务器的 Docker 中

2. 登录服务器,通过宝塔面板的「Docker」→「镜像管理」确认各模块镜像已成功上传

4. 启动 Java 服务容器

1. 单车服务启动

 

docker run -it --memory 1500m -e TZ=Asia/Shanghai -p 7999:7999 -p 10882:10882 --name ebike-service-20230508_180218 --link naughty_perlman --link fervent_black  -v /opt/ebike/logs:/opt/logs/ -d ebike-service-20230508_180218

1. 网关服务启动

 

docker run -it --memory 1500m -e TZ=Asia/Shanghai -p 8000:8000 -p 22222:22222/udp -p 22223:22223 --name ebike-gateway-20230427_160535 --link naughty_perlman --link fervent_black  -v /opt/ebike/logs:/opt/logs/ -d ebike-gateway-20230427_160535

1. 接口服务启动

 

docker run -e -it --memory 512m -e TZ=Asia/Shanghai -p 30002:30002 --name ebike-interface-20230508_180230 --link naughty_perlman --link fervent_black  -v /opt/ebike/logs:/opt/logs/ -d ebike-interface-20230508_180230

1. 管理服务启动

 

docker run -e -it --memory 512m -e TZ=Asia/Shanghai -p 7998:7998 --name ebike-admin-20230508_180235 --link naughty_perlman --link fervent_black  -v /opt/ebike/logs:/opt/logs/ -d ebike-admin-20230508_180235

5. 服务启动验证

• 启动完成后,通过 docker ps 命令查看容器运行状态

• 访问各服务端口(如网关服务的 8000 端口),确认服务正常响应

• 查看挂载的日志目录 /opt/ebike/logs,确认无错误日志输出

十、部署网站

1. 添加站点

• 登录宝塔控制面板,点击左侧导航栏的「网站」。

• 在网站页面中,点击「添加站点」按钮。

• 在弹出的添加站点窗口中,填写域名,其他选项保持默认,点击「确定」。

2. 配置反向代理

• 站点添加完成后,找到刚创建的站点,点击其对应的「配置」按钮。

•

• 在配置页面中,点击「反向代理」选项。

• 点击「添加反向代理」按钮,打开反向代理配置窗口。

• 点击「高级功能」,在代理名称处填写自定义名称(例如「admin-proxy」)。

• 在目标 URL 处填写 Docker 运行的服务端口,即 127.0.0.1:7998,点击「确定」。

•

3. 调整反向代理配置

• 回到反向代理配置页面,找到刚添加的代理规则,点击其对应的「配置」按钮。

• 在配置文件中,找到 http://127.0.0.1:7998; 这一行,删除末尾的斜杠,确保内容为 http://127.0.0.1:7998;(无斜杠),保存配置。

小程序后端,配置反向代理http://127.0.0.1:30002,就不需要开高级模式,不需要删除斜杠

4. 上传管理后台代码

• 回到网站列表页面,找到目标站点,点击其对应的「文件夹」图标,进入站点根目录。

•

• 提前在本地配置好管理后台代码的 API 地址,格式为添加站点时配置的域名加上反向代理的代理目录,例如 http://service.ebike.rhinogo.com.cn/api。

• 将配置好的管理后台代码上传到当前文件夹中。

5. 访问验证

• 完成上述操作后,在浏览器中输入域名 https://service.ebike.rhinogo.com.cn,即可访问到管理后台。

• https://service.ebike.rhinogo.com.cn/api ,就是后端api地址

标签: #部署 1
目录

IT 外包服务商

  • 意见投递
  • zyf6619

软件开发应用

主菜单

  • 首页
  • 软件开发
  • 计算机基础
  • Hello Halo
  • 新手必读
  • 关于本知识库
Copyright © 2024 your company All Rights Reserved. Powered by Halo.