【好玩儿的Docker项目】搭建属于自己的易支付平台
【好玩儿的Docker项目】搭建属于自己的易支付平台

背景与核心痛点:拥有自主可控的独立聚合支付收单系统,是独立开发者、站长与跨境数字游民实现业务自动化的核心环节。市面上多数教程严重依赖繁琐的宝塔面板(aaPanel)或难以维护的裸机环境。通过 Docker Compose 将 Nginx、PHP-FPM 与 MySQL 5.7 进行微服务化轻量编排,可实现开箱即用、一键迁移,并搭配 Nginx Proxy Manager 轻松打通全自动 HTTPS 聚合收单。
目录
- 项目背景与容器化优势
- 服务器前置准备与目录规划
- 配置 Nginx 与 PHP-FPM 运行环境
- Docker Compose 容器编排部署
- 初始化数据库与安装扩展
- Nginx Proxy Manager 反向代理与域名绑定
项目背景与容器化优势
- 摆脱重型运维面板:无需安装宝塔等占用高额内存的第三方控制面板,内存占用低至 300MB。
- 本地持久化映射:站点静态代码与 MySQL 数据库文件完全映射至宿主机,备份或版本迭代极为方便。
- 隔离性与安全性:PHP 与 MySQL 运行在独立 Docker 内部虚拟网络中,数据库端口不对外公网暴露,极大降低黑客注入风险。
服务器前置准备与目录规划
推荐基于 1GB 内存以上的 Linux VPS(Debian 12 / Ubuntu 22.04+):
mkdir -p /root/data/docker_data/epay
cd /root/data/docker_data/epay
mkdir -p config html logs mysql-data
配置 Nginx 与 PHP-FPM 运行环境
在 config/nginx.conf 中写入支持伪静态与 FastCGI 转发的轻量配置:
events { worker_connections 1024; }
http {
include /etc/nginx/mime.types;
server {
listen 80;
root /var/www/html;
index index.php index.html;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
include fastcgi_params;
fastcgi_pass php:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
}
Docker Compose 容器编排部署
在根目录下创建 docker-compose.yml:
version: '3.8'
services:
webserver:
image: nginx:alpine
restart: always
ports:
- "8080:80"
volumes:
- ./config/nginx.conf:/etc/nginx/nginx.conf:ro
- ./html:/var/www/html
- ./logs:/var/log/nginx
depends_on:
- php
- mysql
php:
image: php:7.4-fpm
restart: always
volumes:
- ./html:/var/www/html
depends_on:
- mysql
mysql:
image: mysql:5.7
restart: always
environment:
MYSQL_ROOT_PASSWORD: your_strong_root_password
MYSQL_DATABASE: epay_db
MYSQL_USER: epay_user
MYSQL_PASSWORD: your_strong_user_password
volumes:
- ./mysql-data:/var/lib/mysql
初始化数据库与安装扩展
- 将易支付开源程序源代码解压至
html目录中。 - 配置
html/config.php,连接信息填入 Docker 内置容器名mysql:$dbconfig = array( 'host' => 'mysql', 'port' => 3306, 'user' => 'epay_user', 'pwd' => 'your_strong_user_password', 'dbname' => 'epay_db', 'dbqz' => 'pay_' ); - 启动并安装必要 PHP 扩展:
docker compose up -d docker compose exec php docker-php-ext-install pdo_mysql docker compose restart chmod -R 777 html/
Nginx Proxy Manager 反向代理与域名绑定
- 登录 NPM 后台,点击 Add Proxy Host。
- 填入专属解析域名(如
pay.yourdomain.com)。 - Forward Hostname 填入宿主机局域网 IP,Port 填入
8080。 - 勾选 Block Common Exploits 与 Websockets Support。
- 在 SSL 标签页申请 Let's Encrypt 证书并强制开启 HTTP to HTTPS 重定向。
- 保存后即可通过专属 HTTPS 域名安全访问收银台与管理控制台。
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 zszweb
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果