jeepay编译部署

OpenJDK 17 or 21 (21.0.11+10-1)
用JDK 25会编译错误
Redis ( >=3.2.8 8.0.6-1 )
MySQL (>= 5.7, mariadb-server 11.8.6-6)
Nginx

0. 准备
在Debian Forky下用如下命令安装

apt install openjdk-21-jdk redis mariadb-server nginx-full

redis就保持默认配置

MySQL需要创建数据库和用户,在root用户的shell里输入如下命令

    mysql  -u root -p

直接回车,不用输入密码,就可以进入mysql 命令环境:

CREATE DATABASE  jeepaydb;

CREATE USER   'jeepay'@localhost  IDENTIFIED BY 'my.pa55w0rd' ;

GRANT ALL ON jeepaydb.* TO 'jeepay'@localhost;

FLUSH PRIVILEGES;

就创建了数据库和相应的用户

在普通用户的shell里输入

mysql -u jeepay -p  jeepaydb

再输入密码,看是否能正常进入

运行 RocketMQ
wget https://dist.apache.org/repos/dist/release/rocketmq/5.5.0/rocketmq-all-5.5.0-bin-release.zip
unzip rocketmq-all-5.5.0-bin-release.zip
cd rocketmq-all-5.5.0-bin-release
nohup sh bin/mqnamesrv &
nohup sh bin/mqbroker -n localhost:9876 &

部署后端
1. 获得源代码并编译

git clone https://gitee.com/jeequan/jeepay.git
cd jeepay
mvn package

编译成功后,会在每个模块的target下会生成下面名字的.jar文件,如下:
jeepay-manager/target/jeepay-manager.jar
jeepay-merchant/target/jeepay-merchant.jar
jeepay-payment/target/jeepay-payment.jar

2. 配置
1) 使用root用户登录云服务器,创建jeepay用户,切换到jeepay用户,并在/home/jeepay目录下创建service和upload文件目录。

adduser jeepay
su - jeepay
cd /home/jeepay
mkdir service && mkdir upload

2) 在service目录下创建目录manager,merchant,payment,然后将上面编译后的.jar文件分别传入对应的目录中。

cd /home/jeepay/service
mkdir manager && mkdir merchant && mkdir payment

3) 进入项目源代码的根目录, 导入数据

mysql -u jeepay -p jeepaydb < docs/sql/init.sql

4)
将项目下 docs/scpript/app.sh 上传到至 /home/jeepay/service/manager 下。
将项目下 conf/manager/application.yml 上传至 /home/jeepay/service/manager 下。
此时manager目录下应该有 jeepay-manager.jar、app.sh、application.yml 三个文件。

5) 修改 application.yml 中的配置为你自己环境对应配置,主要包括服务端口、数据库连接配置、Redis配置、ActiveMQ配置

6) 修改 app.sh
将 第1行的 #!/bin/sh 改成 #!/bin/bash

7) 启动manager项目:
./app.sh start

merchant 和 payment 的部署, 类似于manager

前端部署
3. 获取前端源代码
8)
git clone https://gitee.com/jeequan/jeepay-ui.git
项目下载后在jeepay-ui下会有三个目录,分别是:
jeepay-ui-manager:运营平台对应的前端代码
jeepay-ui-merchant:商户系统对应的前端代码
jeepay-ui-cashier:支付收银台前端代码(只有用到聚合扫码收银台时才需要部署)

9)
以 jeepay-ui-manager 为例
进入到目录 jeepay-ui-manager 下,修改服务端接口配置。
修改文件 .env 中的 VUE_APP_API_BASE_URL 配置,如果前端和服务端部署在同一域名下,该值留空,否则需要设置为服务端接口地址。
修改为 manager服务地址(如 http://1.2.3.4:9217, 域名和ip端口以你服务端真实部署为准)

10) 修改后按如下命令执行
安装依赖:npm install
打包文件:npm run build
打包后,生成dist目录,将dist目录下所有文件上传至服务器 /home/jeepay/html/manager

jeepay-ui-merchant 和 jeepay-ui-cashier 参考 jeepay-ui-manager 的打包和部署

Nginx配置

11)
将域名 mgr.x.jeepay.vip,mch.x.jeepay.vip,pay.x.jeepay.vip解析到服务器IP

12)
创建 /etc/nginx/site-available/manager 文件

upstream mgr-api {
    server 127.0.0.1:9217 weight=1 max_fails=2 fail_timeout=30s;
}

server
{
    listen 80;
    server_name mgr.x.jeepay.vip;
    index index.html index.htm ;
    root /home/jeepay/html/manager;

    try_files $uri $uri/ /index.html;

    location /api/
    {
        proxy_next_upstream http_502 http_504 error timeout invalid_header;
        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_pass http://mgr-api;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }
}

/etc/nginx/site-availabe/merchant

upstream mch-api {
    server 127.0.0.1:9218 weight=1 max_fails=2 fail_timeout=30s;
}

server
{
    listen 80;
    server_name mch.x.jeepay.vip;
    index index.html index.htm;
    root /home/jeepay/html/merchant;

    try_files $uri $uri/ /index.html;

    location /api/
    {
        proxy_next_upstream http_502 http_504 error timeout invalid_header;
        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_pass http://mch-api;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }

}

/etc/nginx/site-available/payment

upstream pay-api {
    server 127.0.0.1:9216 weight=1 max_fails=2 fail_timeout=30s;
}

server
{
    listen 80;
    server_name pay.x.jeepay.vip;
    index index.html index.htm;
    root /home/jeepay/html/payment;

    location ^~ /api/
    {
        proxy_next_upstream http_502 http_504 error timeout invalid_header;
        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_pass http://pay-api;
    }
}

/home/jeepay/html/payment 目录下面需要新建cashier文件夹,
在/home/jeepay/html/payment/cashier下存放index.html等前端打包文件文件

系统部署后初始账号密码。
运营平台
账号:jeepay
密码:jeepay123
商户系统
账号在运营平台创建, 默认密码:jeepay666
登录商户系统后可测试支付下单流程。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注