0x00:写在前面
起因是最近在出chatgpt的账号,一般直接在qq上一手交钱一手交货。随着单子慢慢变多,感觉这种方式有些不专业了,恰巧之前在GitHub上看到一个发卡网站的源码,便花了一个晚上部署了下来。也好久没更新博客了,在这里记录一下部署的过程,总结一下踩过的雷。
0x01:环境搭建
1.部署项目本体
首先贴上项目链接:独角发卡
这个发卡网看来也是个老牌的发卡网了,之前见过许多小网站都是基于他搭建的,斩获了将近6k的star。主要是用php写的吧,还有一大部分是我听都没听说过的Blade,反正咱也不打算深究前端,不管他了😋
大致看了下README里面的教程,写的挺粗略的,因为php涉及的问题较多,最终还是决定找我的老朋友——docker。
作者给了一个docker启动的命令行,项目里面还有一个docker-compose文件,看一眼
# docker
docker run -dit --name dujiaoka -p 80:80 -p 9000:9000 -e WEB_DOCUMENT_ROOT=/app/public jiangjuhong/dujiaoka
# docker—compose.yaml
version: "2.2"
services:
web:
build: .
ports:
- "80:80"
- "9000:9000"
environment:
WEB_DOCUMENT_ROOT: "/app/public"
tty: true不难看出来,这个docker-compose是本地搭建的,但是我对这种方式不太熟悉,感觉也不太靠谱,所以选择手动融合这两种方式,编写了一个使用镜像文件的docker-compose配置文件。(其实是在bing的帮助下)
version: '3'
services:
dujiaoka:
image: jiangjuhong/dujiaoka
container_name: dujiaoka
ports:
- 82:80
- 9002:9000
environment:
- WEB_DOCUMENT_ROOT=/app/public编写完文件,直接docker-compose up启动,访问我的 服务器ip:82/admin ,直接就进去了。心里还想:就这?这么简单?结果一切都刚刚开始。
/admin 是这个项目的后台管理路径,我寻思着用户界面反正也是空的,不如直接进后台,结果填上README中提到的admin+admin提示我登陆错误,当场懵圈。折腾了一会没什么用,抱着摆烂的心态想来看看我空白的商品列表,结果,却意外被定向到了/install 进到了安装步骤。。。。。。
2. 部署 MySQL & Redis
· 安装mysql
安装步骤的第一栏就是部署MySQL,我个人对MySQL了解不多,大概觉得他就是个大型的json复合体。安装界面上需要填写的有
MySQL host || 127.0.0.1
MySQL port || 3306
MySQL login_username || root
MySQL login_password
MySQL Database_name || dujiaoka
当时还是比较懵圈的,我以为docker-compose里面都给我包含了,于是直接点了开始安装,结果报错告诉我Mysql是需要手动安装的😅
首先考虑的是本地安装,问了问chatgpt,让从apt直接install。但是估计是年代太久远了(GPT知识截止21年9月)没有安装成功,又是一堆阴间报错。干脆直接选择docker安装,直接加到先前的配置文件里。
· 安装redis
这个简单,本地就有,直接映射redis端口到dujiaoka容器就可以了。
但是我当时没有想到,选择再在docker里跑了一个
于是乎,我的配置文件变成了:
# docker-compose.yaml
version: '3'
services:
dujiaoka:
image: jiangjuhong/dujiaoka
container_name: dujiaoka
ports:
- 82:80
- 9002:9000
volumes:
- ./config/env:/app/.env
- /etc/nginx/homepage/favicon.ico:/app/public/assets/style/favicon.ico
environment:
- WEB_DOCUMENT_ROOT=/app/public
mysql:
image: mysql:latest
container_name: mysql
environment:
- MYSQL_ROOT_PASSWORD: password
- TZ=Asia/Shanghai
volumes:
- mysql_data:/var/lib/mysql
redis:
image: redis:alpine
container_name: redis
restart: always
volumes:
mysql_data:
直接 docker-compose up -d ,浏览器访问 公网ip:82 即可进入到安装页面。
mysql和redis的host直接填容器名,其他的按照配置文件填写,应该是没什么问题了。只是注意把./config/env的权限写成 xx7 (docker 的用户拥有最高权限即可)
至此,环境搭建完成。
0x02:支付方式的接入
——未完待续