Skip to content

宝塔部署

部分用户技术栈不为Java, 导致可能无法进行打包, 后续会发布项目的应用构建包, 现在如果需要不是, 可以私聊获取前后端的应用构建包

安装宝塔面板

参考宝塔官方教程, 安装对应的面板软件, 官网地址 : 宝塔面板

服务器显示下列内容即安装完成, 注意需要放开宝塔端口访问

shell
========================================
正在开启面板SSL,请稍等............ 
========================================
证书开启成功!
========================================
Stopping Bt-Tasks...    done
Stopping Bt-Panel...    done
Starting Bt-Panel....   done
Starting Bt-Tasks...    done
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
Package firewalld-0.6.3-13.el7_9.noarch already installed and latest version
Nothing to do
Created symlink from /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service to /usr/lib/systemd/system/firewalld.service.
Created symlink from /etc/systemd/system/plus-user.target.wants/firewalld.service to /usr/lib/systemd/system/firewalld.service.
success
==================================================================
Congratulations! Installed successfully!
=============注意:首次打开面板浏览器将提示不安全=================

 请选择以下其中一种方式解决不安全提醒
 1、下载证书,地址:https://dg2.bt.cn/ssl/baota_root.pfx,双击安装,密码【www.bt.cn】
 2、点击【高级】-【继续访问】或【接受风险并继续】访问
 教程:https://www.bt.cn/bbs/thread-117246-1-1.html
 mac用户请下载使用此证书:https://dg2.bt.cn/ssl/mac.crt

========================面板账户登录信息==========================

 【云服务器】请在安全组放行 29554 端口
 外网ipv4面板地址: https://*.*.*.*:29554/a911111e
 内网面板地址:     https://*.*.*.*:29554/a911111e
 username: 123
 password: 123

 浏览器访问以下链接,添加宝塔客服
 https://www.bt.cn/new/wechat_customer
==================================================================
Time consumed: 1 Minute!
[root@iZbp15t26m1nliyh1pccunZ ~]#

安装Redis中间件

进入Redis管理页面

点击安装redis环境进行安装, 版本选择7.x即可

1

安装软件

2

安装成功后使用默认设置

默认不需要进行更改, 如何需要外网进行redis的访问管理自行配置, 支持外网访问的话注意要设置密码

3

在线管理页面, 可以用来查询Key值

4

安装和导入Pgsql数据库

进入PgSQL界面

点击安装PgSql安装pg管理面板

5

6

安装PgSQL数据库

选择14或以上的版本即可

7

创建数据库

首先给数据库设置一个管理员密码, 否则无法进行SQL脚本的导入, 后面也需要

8

安装成功后创建数据, 可以参考下面的配置, 创建后才可以导入sql脚本, 注意库名称需要需配置文件中的一致

9

导入SQL文件

将DaxPay的数据库脚本导入到创建的库中

10

11

12

Java程序部署

安装JDK

选择JDK21版本进行安装, 安装完成后设置命令行版本为刚安装的JDK

13

14

上传Daxpay的jar包和配置文件

首先在文件菜单下创建一个 java 文件夹, 将jar包和配置文件上传到此目录下

15

16

配置文件参考

适用于本宝塔部署教程使用, 也可实际情况进行修改,

application.yml

yaml
server:
  port: 19999
spring:
  application:
    name: dax-pay-union
  profiles:
    active: test
  task:
    scheduling:
      pool:
        size: 8
  servlet:
    pluspart:
      # 上传文件大小限制为100M
      max-file-size: 100MB
# ORM
mybatis-plus:
  mapper-locations: classpath*:mapper/**/*Mapper.xml
  global-config:
    banner: false
    db-config:
      # PG逻辑删除需要指定为布尔值, 如果为0/1会出现查询类型错误
      logic-delete-value: true
      logic-not-delete-value: false
mybatis-plus-join:
  banner: false
# 安全框架
sa-token:
  # token 名称(同时也是 cookie 名称)
  token-name: Accesstoken
  # token 有效期(单位:秒) 默认30天,-1 代表永久有效
  timeout: 2592000
  active-timeout: -1
  is-concurrent: true
  is-share: true
  is-log: false
  is-print: false
# 字段翻译插件
easy-trans:
  #启用平铺模式
  is-enable-tile: true
# 平台配置
bootx-platform:
  config:
    deploy-mode: fusion
    client-codes:
      - dax-pay-admin
      - dax-pay-merchant
      - dax-pay-merchant

application-test.yml

注意, 数据的账号密码要使用 **postgres **和 管理员密码, 不然有可能出现权限不足问题

yaml
spring:
  datasource:
    dynamic:
      primary: master
      datasource:
        master:
          # Postgresql连接
          driver-class-name: org.postgresql.Driver
          url: jdbc:postgresql://127.0.0.1:5432/daxpay?serverTimezone=Asia/Shanghai&autoReconnect=true&reWriteBatchedInserts=true
          username: postgres
          password: daxpay123
      hikari:
        keepalive-time: 300000
  data:
    redis:
      host: 127.0.0.1
      port: 6379
      database: 4
      # 默认不需要密码
#      password: ${REDIS_PASSWORD:''}
      lettuce:
        pool:
          max-wait: 1000ms
# 开发时显示debug日志
logging:
  level:
    cn.bootx.**: debug
    cn.daxpay.**: debug
    org.springframework.jdbc.core: debug
# 接口文档配置
springdoc:
  # 默认展开对象类型的属性, 主要用在get类型的参数中
  default-flat-param-object: true
# 基础脚手架配置
bootx-platform:
  common:
    # swagger相关配置
    swagger:
      author: DaxPay
      title: DaxPay支付平台-融合端
      description: DaxPay支付平台-多商户版-融合端
      version: 0.0.1
      base-packages:
        "[BootxPlatform接口]":
          - cn.bootx.platform.common
          - cn.bootx.platform.starter
          - cn.bootx.platform.iam
          - cn.bootx.platform.baseapi
          - cn.bootx.platform.notice
        "[支付平台接口]":
          - cn.daxpay.plus.union
          - cn.daxpay.plus.controller
        "[支付通道接口]":
          - cn.daxpay.plus.channel
  starter:
    auth:
      enable-admin: true
      ignore-urls:
        - '/actuator/**'
        - '/v3/api-docs/**'
        - '/doc.html'
        - '/swagger-resources/**'
        - '/token/**'
        - '/ws/**'
        - '/demo/**'
        - '/test/**'
        - '/webjars/**'
        - '/front/**'
        - '/h5/**'
        - '/css/**'
        - '/error'
        - '/favicon.ico'
    file-upload:
      # 使用后端代理访问, 线上请使用 Nginx 配置或者直连方式,效率更高
      forward-server-url: http://127.0.0.1:9999
dax-pay:
  env: DEV_
  machine-no: 70
dromara:
  # 注意, 不要设置 domain 访问路径, 自行进行拼接访问路径, 来保证可迁移性
  x-file-storage:
    default-platform: local
    # 使用Nginx映射到存储路径, 然后将nginx的地址设置到 bootx-platform.starter.file-upload.file-server-url参数
    local-plus:
      - platform: local
        enable-storage: true
        base-path: /file/ # 基础路径
        storage-path: D:/data/files # 存储路径
    # 将 minio访问地址+桶名称 进行组合, 然后设置到 bootx-platform.starter.file-upload.file-server-url
    # 例如 minio地址 http://127.0.0.1:9001  桶名称 daxpay, 拼接后的地址为 http://127.0.0.1:9001/daxpay/
    minio:
      - platform: minio
        enable-storage: true
        access-key: yDAArSoyQAligC2IGf7C
        secret-key: vDgpt5R4kR2UCapMzx32Rb6qZegok21dRsU6XJ1j
        end-point: http://127.0.0.1:9002  # minio访问地址
        bucket-name: daxpay # 存储桶名称
        base-path: /file/ # 基础存储路径

启动Daxpay程序

添加java项目, 选中上面上传的jar程序文件后, 会显示出下面对话框, 点击确定后会提示项目可能有问题, 直接忽略即可. 启动后查看项目日志查看是否启动成功

17

18

19

20

21

添加外网域名解析和映射

反向代理项目中选择新增反向代理, 填写你的域名, 并将目标地址设置为Daxpay后端的内网访问路径, 点击完成即可,后续用于接收各种外网请求,如支付回调等

22

23

24

部署Web前端

安装Nginx

进入到html文件后, 选择Nginx版本后进行安装, 此处没有特殊要求

25

配置接口代理

前端项目部署成功后, 需要将访问后台的接口进行映射, 运营端默认接靠前缀为 /admin, 商户端默认为 /merchant,** **核心逻辑在于在项目中添加一个接口代理

26

参考配置片段

shell
# 这个是接口前缀 
location /admin/ {
        proxy_ssl_server_name on; 
        # 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://127.0.0.1:19999/; 
        proxy_redirect default; 
        proxy_set_header Connection "upgrade"; 
        proxy_set_header Upgrade $http_upgrade; 
        add_header Access-Control-Allow-Origin *; 
        add_header Access-Control-Allow-Headers X-Requested-With; 
        add_header Access-Control-Allow-Methods *; 
    }

项目启动成功,可以正常登录

27

部署前端项目(运营端)

添加一个项目, 域名填写你的域名, 创建项目后上传前端文件到服务器中

28

29

部署前端项目(网关端)

网关端用于发起网关支付、获取微信支付宝用户认证信息等场景适用

部署前端项目(商户端)

项目暂未完成, 待后续更新, 部署方式与运营端基本一致, 只需要更改 接口代理 配置即可

项目配置

项目启动成功后, 可以进行平台配置, 网关服务器地址配置为前面DaxPay后端服务对应的外网域名,用于接收三方通道的通知信息。网关H5端地址配置网关端。

30

本文档内容版权属于济南易杯光年软件技术有限公司