独角数卡是一款卡密销售系统,他依赖 mysql 和 redis ,按部就班的装是没问题的,因为作者提供的文档还挺强大,佩服! 这里主要怎么五分钟无痛的安装好它,
主要参考了一位大佬的docker镜像 https://blog.dov.moe/posts/49102/
啰嗦两句,这个镜像比官方推荐那个镜像要好,官方那个docker是半吊子的,还需要装mysql和redis
相关地址
GitHub 官方仓库:https://github.com/assimon/dujiaoka
Docker 镜像地址:https://hub.docker.com/r/stilleshan/dujiaoka (同时支持 X86 和 ARM 架构)来自:Stille 大佬
常见问题集锦:https://github.com/assimon/dujiaoka/wiki/problems
1. 首先安装docker
curl -fsSL https://get.docker.com | sh
curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
2. 安装部署独角数卡
1. 创建安装目录
sudo -i
mkdir -p /root/data/docker_data/shop
cd /root/data/docker_data/shop
mkdir storage uploads
chmod -R 777 storage uploads
# 创建数据目录用于挂载
touch env.conf
chmod -R 777 env.conf
这边我们直接用 docker 的方式安装。
vim docker-compose.yml
英文输入法下,按 i
version: "3"
services:
web:
category_bar: true stilleshan/dujiaoka
environment:
# - INSTALL=false
- INSTALL=true
# - MODIFY=true
volumes:
- ./env.conf:/dujiaoka/.env
- ./uploads:/dujiaoka/public/uploads
- ./storage:/dujiaoka/storage
ports:
- 8090:80 # 8090可以改成任意服务器没有使用过的端口,80不要修改
restart: always
db:
category_bar: true mariadb:focal
restart: always
environment:
- MYSQL_ROOT_PASSWORD=changeyourpassword
- MYSQL_DATABASE=dujiaoka
- MYSQL_USER=dujiaoka
- MYSQL_PASSWORD=changeyourpassword
volumes:
- ./mysql:/var/lib/mysql
redis:
category_bar: true redis:alpine
restart: always
volumes:
- ./redis:/data
changeyourpassword
可以修改成自己的密码。
修改好之后,注意切换成英文输入法,然后按一下 esc
,然后 :wq
保存退出。
添加env.conf文件
vim env.conf
输入:
APP_NAME=咕咕的小卖部
APP_ENV=local
APP_KEY=base64:rKwRuI6eRpCw/9e2XZKKGj/Yx3iZy5e7+FQ6+aQl8Zg=
APP_DEBUG=true
APP_URL=https://你的域名
LOG_CHANNEL=stack
# 数据库配置
DB_CONNECTION=mysql
DB_HOST=db
DB_PORT=3306
DB_DATABASE=dujiaoka
DB_USERNAME=dujiaoka
DB_PASSWORD=changeyourpassword
# redis配置
REDIS_HOST=redis
REDIS_PASSWORD=
REDIS_PORT=6379
BROADCAST_DRIVER=log
SESSION_DRIVER=file
SESSION_LIFETIME=120
# 缓存配置
# file为磁盘文件 redis为内存级别
# redis为内存需要安装好redis服务端并配置
CACHE_DRIVER=redis
# 异步消息队列
# sync为同步 redis为异步
# 使用redis异步需要安装好redis服务端并配置
QUEUE_CONNECTION=redis
# 后台语言
## zh_CN 简体中文
## zh_TW 繁体中文
## en 英文
DUJIAO_ADMIN_LANGUAGE=zh_CN
# 后台登录地址
ADMIN_ROUTE_PREFIX=/admin
# 是否开启https (前端开启了后端也必须为true)
# 后台登录出现0err或者其他登录异常问题,大概率是开启了https而后台没有开启,把下面的false改为true即可
ADMIN_HTTPS=true
这边可以不用动,因为后续我们安装的时候填的信息会覆盖这里面的内容,修改好之后,注意切换成英文输入法,然后按一下 esc
,然后 :wq
保存退出。
最后:
docker-compose up -d
理论上我们就可以输入 http://ip:8090
访问安装了。
注意: 使用IP:8090可能会出现错误
,
推荐使用解析好的域名安装,做好反向代理
推荐使用 Nginx Proxy Manager
反向代理神器
2.网页安装
访问域名开始安装:
- 将
mysql
的地址改为db
- 将
mysql
的用户名改为dujiaoka
- 将
redis
的地址改为redis
- 填写网站名称
- 网站 url 填写完整域名地址,例如
https://shop.ioiox.com
点击安装成功后,先不要登录
, 先修改其他参数后在进行登录使用
此时,我们先停止容器。
docker-compose down
将docker-compose.yml
中的INSTALL
改为false
将env.conf
中的APP_DEBUG
改为false
以及 ADMIN_HTTPS
改成 true
最后:
docker-compose up -d
然后在域名后面加上 /admin
,账户密码都是admin
就可以正常登录后台了!
记得改一下用户名和密码!
3.迁移服务器
- 所有配置,数据,缓存,数据库都存储在整个
shop
目录中,定期备份即可。 - 如需迁移服务器,仅需打包本目录到新服务器,执行上述所有
chmod 777
的权限命令,再次docker-compose up -d
即可恢复上线。
进入shop
目录
chmod -R 777 storage uploads env.conf
然后将env.conf
中的 APP_URL
改成新的域名
最后运行:
docker-compose up -d
4. 更新与卸载
更新 shop
cd /root/data/docker_data/shop
docker-compose down
cp -r /root/data/docker_data/shop /root/data/docker_data/shop.archive # 万事先备份,以防万一
docker-compose pull
docker-compose up -d # 请不要使用 docker-compose stop 来停止容器,因为这么做需要额外的时间等待容器停止;docker-compose up -d 直接升级容器时会自动停止并立刻重建新的容器,完全没有必要浪费那些时间。
docker image prune # prune 命令用来删除不再使用的 docker 对象。删除所有未被 tag 标记和未被容器使用的镜像
提示:
WARNING! This will remove all dangling images.
Are you sure you want to continue? [y/N]
输入 y
利用 Docker 搭建的应用,更新非常容易~
卸载 shop
cd /root/data/docker_data/shop
docker-compose down
cd ..
rm -rf /root/data/docker_data/shop # 完全删除映射到本地的数据
可以卸载得很干净。