彩虹易支付-docker版

分享一个我的开源项目

Epay-docker

# 彩虹易支付-docker 版

>

网上全是彩虹的宝塔版搭建教程,官方除了收钱和开发插件收钱,似乎其他的也不怎么管,其他的</s>docker<e>容器我看还有收钱的,索性就自己做一个吧。

## 本地测试教程

### 配置环境

  • 1.

    安装 </s>Docker<e> 环境 Windows 安装 Docker Desktop

    docker 环境在此不过多赘述,请看别的安装教程

  • 2.

    安装 `Openssl` 用于本地测试生成证书
    [Openssl for Windows](http://slproweb.com/products/Win32OpenSSL.html) 下载 `Light` 版本就行
    然后无脑下一步安装,记一下安装位置,方便等下设置环境变量
    找到【系统属性】-【环境变量】-【系统变量】中 Path 变量后点击编辑
    设置 `openssl` 的环境变量(安装 openssl 路径的 bin 目录)
    Windows 打开 `shell` 输出 `openssl version` 不报错且正常输出 `openssl` 版本即说明安装成功。

  • 3.

    生成本地测试自签证书
    打开 `shell` 进入到 `ssl` 目录 执行以下命令

    ```sh openssl req -new -x509 -nodes -days 365 -config openssl.cnf -keyout nginx.key -out nginx.crt ```

    然后会在本地看到两个文件 `nginx.key` 与 `nginx.crt`
    有特殊要求的可以修改 `openssl.cnf` 文件

  • ### 本地测试

    PS:本项目不提供易支付源码,请自行寻找/购买正版

  • 1. 环境配置完成后,解压易支付源码,放入 </s>website<e> 目录下
  • 2. 在项目根目录下,执行执行下方命令运行容器
  • ##### 启动容器
    ```sh docker-compose up --build ```
    ##### 停止/删除容器
    ```sh docker-compose down ```

  • 1. 访问本机测试地址 </s>http://localhost:1443<e> ,由于开启了 强制 </s>https<e> 所以可能会跳转到 </s>https://localhost<e> 手动输入,手动输入端口即可
  • 2. 点击下一步后,输入 `Mysql` 信息,需要将数据库地址 改为 `db` ,而不是原来的 `localhost`
  • 3. 数据库账号密码等信息从 `docker-compose.yml` - `db` - `environment` 中寻找 即可正常安装
  • ## 线上部署

    >

    本地测试没问题后


    >
  • 1. 修改 </s>ssl<e> 文件夹下的证书替换为你要解析的域名的证书

  • >
  • 2. 修改 </s>nginx.conf<e> 文件中的域名将所有的 </s>localhost<e> 替换为你的域名

  • >
  • 3. </s>nginx.conf<e> 文件的第 </s>nginx.crt<e></s>nginx.key<e> 替换为你的证书文件名

  • >
  • 4. 删除 </s>.git<e> 目录 与 </s>README.md<e> 文件

  • >
  • 5. 将所有代码上传至服务器,运行下方命令启动容器
  • sh</s><i> </i> docker-compose up -d<i> </i><e>

    ## 自定义配置

    >

    主要是修改 </s>docker-compose.yml<e> 文件,下面是一些字段解释

    > </s>.env.example<e> 中的 </s>COMPOSE_PROJECT_NAME<e></s>docker<e> 容器名,如有特殊请自行修改

    > </s>nginx<e> 的修改,请自行研究

    ```yml
    version: ‘3.8’

    services:
    nginx:
    image: nginx:latest
    ports: # 如果外部有端口冲突 请修改此项
    - “1080:80” # 将 容器内的 80 端口 映射到外部 1080
    - “1443:443” # 将 容器内的 443 端口 映射到外部 1443
    volumes:
    - ./website:/var/www/html
    - ./nginx.conf:/etc/nginx/conf.d/pay.conf
    - ./ssl:/etc/nginx/ssl
    - ./fastcgi-php.conf:/etc/nginx/snippets/fastcgi-php.conf
    - ./www/wwwlogs:/www/wwwlogs
    depends_on:
    - php

    php:
    build: .
    volumes:
    - ./website:/var/www/html

    db:
    image: mysql:5.7 # mysql 版本
    environment: # mysql 信息
    MYSQL_ROOT_PASSWORD: root_password # root 密码
    MYSQL_DATABASE: my_database # 数据库名
    MYSQL_USER: user # 用户名
    MYSQL_PASSWORD: user_password # 用户密码
    ports:
    - “3306:3306”
    ```

    ## 项目结构

    ```sh ├─ssl └─nginx.crt └─nginx.key └─openssl.conf ├─website └─index.php └─****//易支付源代码 └─www └─wwwlogs └─.env.example └─docker-compose.yml └─Dockerfile └─fastcgi-php.conf └─nginx.conf └─REDAME.md ```

    不错,方便。哈哈。会保持更新到最新版么,易支付的源码。

    @“James”#p45005 易支付源码我用的我朋友的,他买的有授权域名,我不知道下载过后的会不会暴漏他的授权哈哈哈

    @“James”#p45005 这次测试的就是最新版的易支付源码,应该没啥差别除非加一些其他的东西,比如定时任务之类的

    你为何这么优秀:huaji45:

    妙啊

    没有源码我也用不上啊:thinking:

    不错。之前也没找到docker部署的方法,后来只好装在了1panel里

    @“5000”#p45040 源码网上有,但是保不齐有后门,人家一个授权域名好像才三百块钱