Discuz! Q 云开发部署
声明
Discuz! Q为免费开源产品,其自身问题不提供售后维护,您可访问 http://discuz.chat 提问,或者扫下图二维码,加小助手微信,帮您拉入“站长互助用户群”交流
一键部署
本项目基于开源项目 CloudBase Framework 开发部署,支持一键云端部署
介绍
.
├── Dockerfile # 默认镜像声明文件
├── Dockerfile.centos
├── README.md
├── cloudbaserc.json # 云开发部署声明文件
├── docker-compose.yml
├── download.sh # 下载代码脚本
├── root
│ ├── etc
│ │ ├── crontab
│ │ ├── nginx
│ │ ├── php
│ │ ├── supervisord.conf
│ │ └── supervisord_nginx.conf
│ ├── usr
│ │ └── sbin
│ │ ├── init_dzq.sh
│ │ ├── run_sched.sh
│ │ ├── start_cron.sh
│ │ └── supervisord
│ └── var
│ └── www
│ ├── discuz
│ └── temp
└── run # 构建镜像脚本
下载代码
当前 Discuz! Q 尚未开源,只放出了代码包,可通过该代码包进行二次开发。
- pc端最新下载地址
- 小程序与H5前端 最新下载地址
- Discuz! Q代码下载地址,包括了 后台源代码,与构建好的前端代码,前端代码在 public 目录下。管理后台的源代码位于
dzq_latest_install/resources/frame
目录下,运行yarn build-admin
构建编译到dzq_latest_install/public/static-admin/
目录下
下面演示如何下载源代码
# 创建source目录
mkdir -p source
cd source
# 下载pc端代码
curl https://dl.discuz.chat/discuz_web_latest.zip -o discuz_web_latest.zip
unzip discuz_web_latest.zip
# 下载h5代码
curl https://dl.discuz.chat/uniapp_latest.zip -o uniapp_latest.zip
unzip uniapp_latest.zip
# 下载并解压 DQ 后台程序代码
curl https://dl.discuz.chat/dzq_latest_install.zip -o dzq_latest_install.zip
unzip dzq_latest_install.zip -d dzq_latest_install
二次开发
1、启动服务
请先执行download.sh
脚本下载最新的代码文件。
1、通过docker-compose up
。将默认启动后端代码并且挂载本地的源码目录 source/dzq_latest_install
,并且创建一个本地mysql数据库,方便本地开发。
2、可在 source/discuz_web_v2.1.201126
目录执行 yarn install && yarn dev
运行web端服务
3、可在 source/uniapp_v2.1.201126
目录执行 yarn install && yarn dev:h5
运行h5端服务
2、配置代理到本地开发
本地开发前端代码时,后台请求默认代理到DQ提供的公共服务 https://dq.comsenz-service.com
上,如果希望改变代理。请修改如下配置
1、source/uniapp_v2.1.201126/vue.config.js
文件夹 devServer.proxy['/api'].target
2、source/discuz_web_v2.1.201126/config.js
文件夹内的 DEV_API_URL
3、构建镜像
步骤一
配置云开发镜像库
查询云开发环境的docker镜像相关账号、镜像名称等信息
并设置 run
脚本里的USERNAME
IMAGE_NAME
为正确值
步骤二
执行 run
脚本等候将镜像推送到镜像库(期间可能会要求输入镜像仓库密码)
更新服务
方式1
登录云开发控制台,在云托管处点击原版本编辑配置并重新部署。
注:新建版本时,当前不支持配置挂载CFS磁盘,因此,请勿直接在控制台新建版本部署。如果希望新建版本部署,请使用 方式2
方式2
安装云开发命令行工具 npm i -g @cloudbase/cli
。
更新 cloudbaserc.json
中的 imageUrl
为构建出的最新的镜像地址,并执行 tcb
部署到对应的环境中。
FAQ
1、更新环境变量不生效
环境变量里的内容当前安装时,会进行读取并写入到 /var/www/discuz/config/config.php
的配置中。后续更新不继续读取。可以通过 webshell 登录进行修改。默认镜像内只有 nano 编辑器。
2、公众号场景下如何上传校验文件到域名根目录
webshell上传
1、把公众号校验文件,上传到静态托管里,拿到对应的地址后 2、登录webshell webshell 3、cd /var/www/discuz/public 4、curl https://wilsonsliu-4ecec0-1252395194.tcloudbaseapp.com/xxxx.txt
静态托管校验
1、把公众号校验文件,上传到静态托管里 2、将自己的域名绑定到静态托管的自定义域名 3、到公众号处添加域名,完成校验 4、解绑域名,再绑定到http访问服务的域名处
扩展应用处的Discuz! Q如何升级
扩展应用点击 扩展程序配置 的修改按钮,再进行保存。可触发更新服务。