1.创建安装目录
首先,创建安装所需的目录并设置权限:
sudo -i
mkdir -p /home/ubuntu/dokcers/dujiaoka
cd /home/ubuntu/dokcers/dujiaoka
mkdir storage uploads # 创建数据目录用于挂载
chmod -R 777 storage uploads
touch env.conf
chmod -R 777 env.conf
2.使用 Docker 安装 Dujiaoka
1. 创建 docker-compose.yml
使用 Vim 编辑 docker-compose.yml 文件:
vim docker-compose.yml
按 i 进入编辑模式,粘贴以下内容:
version: "3"
services:
web:
image: 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:
image: mariadb:focal
restart: always
environment:
- MYSQL_ROOT_PASSWORD=changeyourpassword
- MYSQL_DATABASE=dujiaoka
- MYSQL_USER=dujiaoka
- MYSQL_PASSWORD=changeyourpassword
volumes:
- ./mysql:/var/lib/mysql
redis:
image: redis:alpine
restart: always
volumes:
- ./redis:/data
请将 changeyourpassword 替换为自己的数据库密码。
编辑完成后,按 ESC,输入 :wq 保存并退出。
2.配置反向代理
1. 安装 Nginx
如果尚未安装 Nginx,可以使用以下命令安装:
sudo apt update
sudo apt install nginx -y
2. 创建 Nginx 配置文件
使用 Vim 或其他文本编辑器创建或编辑 /etc/nginx/sites-available/dujiaoka:
sudo vim /etc/nginx/sites-available/dujiaoka
粘贴以下内容:
server {
listen 80;
server_name 你的域名;
location / {
proxy_pass http://127.0.0.1:8090;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
# WebSocket 支持(如有需要)
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
}
# 访问日志
access_log /var/log/nginx/dujiaoka_access.log;
error_log /var/log/nginx/dujiaoka_error.log;
}
3. 启用配置
创建软链接,将配置文件添加到 sites-enabled 目录:
sudo ln -s /etc/nginx/sites-available/dujiaoka /etc/nginx/sites-enabled/
4. 测试 Nginx 配置
确保 Nginx 配置没有错误:
sudo nginx -t
如果一切正常,重启 Nginx 以应用更改:
sudo systemctl restart nginx
可选:配置 HTTPS(Let’s Encrypt SSL)
如果你的站点使用 HTTPS,建议使用 Let’s Encrypt 证书:
sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d 你的域名
如果 SSL 证书安装成功,Nginx 配置会自动更新,并且 listen 80; 会自动跳转到 HTTPS。
2. 创建 env.conf
使用 Vim 编辑 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
# 缓存配置
CACHE_DRIVER=redis
# 异步消息队列
QUEUE_CONNECTION=redis
# 后台语言
DUJIAO_ADMIN_LANGUAGE=zh_CN
# 后台登录地址
ADMIN_ROUTE_PREFIX=/admin
# 是否开启 HTTPS
ADMIN_HTTPS=true
注意:
APP_URL需要替换为你的实际域名。DB_PASSWORD需要与docker-compose.yml中的密码保持一致。
编辑完成后,按 ESC,输入 :wq 保存并退出。
最后启动容器:
docker-compose up -d
3. 使用教程
访问 https://你的域名
成功登录后,填写配置信息:
- 数据库地址 填写
db - Redis 地址 填写
redis
填写完成后,点击保存。
默认的后台账户和密码为:
用户名: admin
密码: admin
1. 停止容器
cd /home/ubuntu/dokcers/dujiaoka
docker-compose down
2. 修改 docker-compose.yml 和 env.conf
- 将
docker-compose.yml中的- INSTALL=true修改为- INSTALL=false - 将
env.conf中的APP_DEBUG=true修改为APP_DEBUG=false
3. 重新启动容器
docker-compose up -d
4. 登录后台
访问 https://你的域名/admin,输入默认账号密码 admin 进行登录。
建议: 请及时修改默认的用户名和密码,以保证安全性。










