Jeepay - 从 0 到 1 的完全部署教程

从 0 到 1 部署 Jeepay,对官方文档忽略的部分进行补充。

前言

本文主要内容: 部署 Jeepay step by step

官方教程 https://docs.jeequan.com/docs/jeepay/deploy

服务器配置

  • 购买阿里云服务器 4 核 8G AlmaLinux9.5

  • 登录服务器

  • 初始化/安装宝塔面板

    • yum install -y wget && wget -O install.sh https://download.bt.cn/install/install_6.0.sh && sh install.sh
  • 配置阿里云安全组,开放宝塔面板的端口

    • 安全组配置

    • image-20250214135231511

  • 登录宝塔面板, 绑定宝塔帐号后进入后台

安装Jeepay依赖软件

在宝塔面板安装需要依赖的软件

  • JDK 1.8:dnf install java-1.8.0-openjdk
  • 安装maven: dnf install maven
  • Redis:点击数据库 - Redis - 安装 redis 环境
  • Mysql 5.7:点击数据库 - Mysql - 安装数据库
  • Nginx:点击网站 - 反向代理 - 安装 Nginx
  • 安装 git:dnf install -y git

安装配置RabbitMQ

也可使用ActiveMQ 或RocketMQ,这里是考虑到在单机上使用安装便捷性以及资源占用量

RabbitMQ 官方安装教程:在基于 RPM 的 Linux 上安装,这里使用的是官方推荐的使用Cloudsmith.io镜像中的 Yum 存储库安装软件包

导入签名密钥

  # 如果下载不了,可以在本地下载后传到服务器
  rpm --import 'https://github.com/rabbitmq/signing-keys/releases/download/3.0/rabbitmq-release-signing-key.asc'
  rpm --import 'https://github.com/rabbitmq/signing-keys/releases/download/3.0/cloudsmith.rabbitmq-erlang.E495BB49CC4BBE5B.key'
  rpm --import 'https://github.com/rabbitmq/signing-keys/releases/download/3.0/cloudsmith.rabbitmq-server.9F4587F226208342.key'

添加repo文件

新建/etc/yum.repos.d/rabbitmq.repo,输入下面的内容

  # In /etc/yum.repos.d/rabbitmq.repo
  
  ##
  ## Zero dependency Erlang RPM
  ##
  
  [modern-erlang]
  name=modern-erlang-el9
  # Use a set of mirrors maintained by the RabbitMQ core team.
  # The mirrors have significantly higher bandwidth quotas.
  baseurl=https://yum1.rabbitmq.com/erlang/el/9/$basearch
          https://yum2.rabbitmq.com/erlang/el/9/$basearch
  repo_gpgcheck=1
  enabled=1
  gpgkey=https://github.com/rabbitmq/signing-keys/releases/download/3.0/cloudsmith.rabbitmq-erlang.E495BB49CC4BBE5B.key
  gpgcheck=1
  sslverify=1
  sslcacert=/etc/pki/tls/certs/ca-bundle.crt
  metadata_expire=300
  pkg_gpgcheck=1
  autorefresh=1
  type=rpm-md
  
  [modern-erlang-noarch]
  name=modern-erlang-el9-noarch
  # Use a set of mirrors maintained by the RabbitMQ core team.
  # The mirrors have significantly higher bandwidth quotas.
  baseurl=https://yum1.rabbitmq.com/erlang/el/9/noarch
          https://yum2.rabbitmq.com/erlang/el/9/noarch
  repo_gpgcheck=1
  enabled=1
  gpgkey=https://github.com/rabbitmq/signing-keys/releases/download/3.0/cloudsmith.rabbitmq-erlang.E495BB49CC4BBE5B.key
         https://github.com/rabbitmq/signing-keys/releases/download/3.0/rabbitmq-release-signing-key.asc
  gpgcheck=1
  sslverify=1
  sslcacert=/etc/pki/tls/certs/ca-bundle.crt
  metadata_expire=300
  pkg_gpgcheck=1
  autorefresh=1
  type=rpm-md
  
  [modern-erlang-source]
  name=modern-erlang-el9-source
  # Use a set of mirrors maintained by the RabbitMQ core team.
  # The mirrors have significantly higher bandwidth quotas.
  baseurl=https://yum1.rabbitmq.com/erlang/el/9/SRPMS
          https://yum2.rabbitmq.com/erlang/el/9/SRPMS
  repo_gpgcheck=1
  enabled=1
  gpgkey=https://github.com/rabbitmq/signing-keys/releases/download/3.0/cloudsmith.rabbitmq-erlang.E495BB49CC4BBE5B.key
         https://github.com/rabbitmq/signing-keys/releases/download/3.0/rabbitmq-release-signing-key.asc
  gpgcheck=1
  sslverify=1
  sslcacert=/etc/pki/tls/certs/ca-bundle.crt
  metadata_expire=300
  pkg_gpgcheck=1
  autorefresh=1
  
  
  ##
  ## RabbitMQ Server
  ##
  
  [rabbitmq-el9]
  name=rabbitmq-el9
  baseurl=https://yum2.rabbitmq.com/rabbitmq/el/9/$basearch
          https://yum1.rabbitmq.com/rabbitmq/el/9/$basearch
  repo_gpgcheck=1
  enabled=1
  # Cloudsmith's repository key and RabbitMQ package signing key
  gpgkey=https://github.com/rabbitmq/signing-keys/releases/download/3.0/cloudsmith.rabbitmq-server.9F4587F226208342.key
         https://github.com/rabbitmq/signing-keys/releases/download/3.0/rabbitmq-release-signing-key.asc
  gpgcheck=1
  sslverify=1
  sslcacert=/etc/pki/tls/certs/ca-bundle.crt
  metadata_expire=300
  pkg_gpgcheck=1
  autorefresh=1
  type=rpm-md
  
  [rabbitmq-el9-noarch]
  name=rabbitmq-el9-noarch
  baseurl=https://yum2.rabbitmq.com/rabbitmq/el/9/noarch
          https://yum1.rabbitmq.com/rabbitmq/el/9/noarch
  repo_gpgcheck=1
  enabled=1
  # Cloudsmith's repository key and RabbitMQ package signing key
  gpgkey=https://github.com/rabbitmq/signing-keys/releases/download/3.0/cloudsmith.rabbitmq-server.9F4587F226208342.key
         https://github.com/rabbitmq/signing-keys/releases/download/3.0/rabbitmq-release-signing-key.asc
  gpgcheck=1
  sslverify=1
  sslcacert=/etc/pki/tls/certs/ca-bundle.crt
  metadata_expire=300
  pkg_gpgcheck=1
  autorefresh=1
  type=rpm-md
  
  [rabbitmq-el9-source]
  name=rabbitmq-el9-source
  baseurl=https://yum2.rabbitmq.com/rabbitmq/el/9/SRPMS
          https://yum1.rabbitmq.com/rabbitmq/el/9/SRPMS
  repo_gpgcheck=1
  enabled=1
  gpgkey=https://github.com/rabbitmq/signing-keys/releases/download/3.0/cloudsmith.rabbitmq-server.9F4587F226208342.key
  gpgcheck=0
  sslverify=1
  sslcacert=/etc/pki/tls/certs/ca-bundle.crt
  metadata_expire=300
  pkg_gpgcheck=1
  autorefresh=1
  type=rpm-md

使用 dnf 安装 erlang和RabbitMQ

  dnf update -y
  dnf install -y logrotate
  dnf install -y erlang rabbitmq-server

启动 RabbitMQ

  • systemctl enable rabbitmq-server
    systemctl start rabbitmq-server
    

配置 RabbitMQ

服务端部署

编译

  • 下载代码 git clone https://gitee.com/jeequan/jeepay.git

  • cd jeepay

  • 编译 mvn package

初始化数据库

进入宝塔面板,点击数据库 - 添加数据库

image-20250214170057892

打开数据库备份功能

image-20250214170331985

合并两个 sql 文件

cd jeepay/docs/sql
cat init.sql > all.sql
cat patch.sql >> all.sql

在新建的数据库上点击导入,从本机导入 ,docs/sql/all.sql

创建程序运行用户及目录

# 创建用户
useradd jeepay
# 切换用户
su jeepay
# 进入目录
cd /home/jeepay/
# 创建目录service和upload
mkdir service && mkdir upload
# 进入到service目录下
cd /home/jeepay/service
# 创建目录manager,merchant,payment
mkdir manager && mkdir merchant && mkdir payment
# 将上面编译后的.jar文件分别传入对应的目录中