院长
院长
发布于 2023-07-09 / 161 阅读 / 2 评论 / 0 点赞

从0.98搭建一个发卡网站(一)

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复合体。安装界面上需要填写的有

  1. MySQL host || 127.0.0.1

  2. MySQL port || 3306

  3. MySQL login_username || root

  4. MySQL login_password

  5. 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:支付方式的接入

——未完待续


评论