DiscuzQ2.0 数据如何备份?操作教程

使用DiscuzQ程序建设网站,难免需要备份,今天就给大家分享DiscuzQ的备份教程,其他DiscuzQ备份中所出现的问题。

如需备份 Discuz! Q,请备份以下内容:

  1. 数据库
  2. config 目录
  3. storage 目录

容器的更多配置说明?

如何将数据保存到容器外部 本容器支持以下三个外部映射目录:

  • 数据库文件,映射到/var/lib/mysqldb/
  • Discuz! Q的配置与存储目录,映射到/var/lib/discuz/
  • SSL证书文件,映射到/etc/nginx/certs/,其中要求存在两个文件discuz.crt 和discuz.key。如果不使用SSL协议,请不要配置此目录,并且不映射 443 端口。

因此,如果如果您想长期使用容器来运行 Discuz! Q,建议在启动容器的时候加入这三个参数进行映射。

例如数据库文件,在本地(宿主机)上,想保存到 /data/mysql-data,Discuz! Q的运行数据,保存到 /data/discuz,SSL证书文件放在 /data/certs/discuz.crt 和 /data/certs/discuz.key,同时不想对外开放 80 端口,那启动容器的命令就是:

docker run -d --restart=always \
  -p 443:443 \
  -v /data/discuz:/var/lib/discuz \
  -v /data/mysql-data:/var/lib/mysqldb \
  -v /data/certs:/etc/nginx/certs \
  ccr.ccs.tencentyun.com/discuzq/dzq:latest

启动之后,访问 https://<域名>/install 就可以开始安装,并正常使用

请一定要访问外部用户将要访问的协议( http:// 或 https:// ) 加 域名 加 /install 进行安装,否则会导致自动获取的站点 URL 配置不正确,站点工作不正常。

基于容器的升级

只要将数据保存到了容器外部,容器就可以升级。在升级前,要将原容器先停止并删除(执行此命令时,一定要确保自己已经将数据保存到了容器外部)。

docker stop <容器 ID>
docker rm <容器 ID>

其中的 <容器 ID>,可以通过 docker ps 命令看到。 然后用以下命令下载最新版本镜像:

docker pull ccr.ccs.tencentyun.com/discuzq/dzq:latest

再使用上次启动相同的命令重新启动即可。

如果需要执行升级文档中要求的其它升级命令,请先登录容器

docker exec -it <容器 ID> /bin/bash

然后就可以执行升级文档中要求的相关的命令,例如:

cd /var/www/discuz
 php disco migrate --force

基于容器的一些其它配置

  • 如果您想对 mysql 进行管理,可选择以下两种方法之一:
    • 登录进容器,用 mysql 命令进行管理docker exec -it <容器id> /bin/bash
    • 将 3306 端口暴露到外面,通过外部工具连上去进行管理。在启动时,加一个-p 3306:3306
  • 如果您想通过外部的负载均衡进行 SSL 卸载,可开放容器的 80 端口,不开放 443 端口即可。
  • Nginx 的配置文件,位于容器的/etc/nginx/nginx.conf 下,如果需要修改,可通过-v 映射自己的配置文件,覆盖这个文件。
    • 例如您本地的配置文件为/data/nginx.conf ,可以在上面的启动命令中,加入映射:-v /data/nginx.conf:/etc/nginx/nginx.conf,即可覆盖系统原来内置的 Nginx 配置文件。
  • php-fpm 的配置文件,位于容器的/etc/php/7.2/fpm/pool.d/www.conf,也可同样映射修改。
  • 控制 PHP 上传大小的文件,位于容器的/etc/php/7.2/fpm/conf.d/30-upload-size.ini, 当前设置为20M,可同样映射修改。

# 安装后,首屏无限加载如何解决?

如果遇到这样的情况,请清空您的浏览器缓存再重试。如果您了解浏览器调试工具,也可以只清空 LocalStorage之后再进行重试。

# 安装后图片不能显示(没使用对象存储)怎么办?

请执行命令以下命令:

ln -s 安装目录/storage/app/public 安装目录/public/storage

例如站点安装目录是:/www/wwwroot/discuz.chat/discuz ,那么这条命令就是

ln -s /www/wwwroot/discuz.chat/discuz/storage/app/public /www/wwwroot/discuz.chat/discuz/public/storage

Discuz! Q 升级 v2.3.210202 版本后,进行红蓝主题切换时报错 

Warning: shell_exec() has been disabled for security reasons in 如何解决?

如果您遇到这样的情况,您可以删除您 Discuz! Q 站点所使用的 PHP 版本中的禁用函数 shell_exec 进行解决。如果您的 Discuz! Q 站点是基于宝塔面板安装,您可以参考以下步骤: 以下操作以宝塔面板 7.5.1、 PHP 7.3 版本为例:

  1. 登录您 Discuz! Q 站点的宝塔面板。
  2. 单击侧边栏【软件商店】,查找到您 Discuz! Q 站点所使用的 PHP 版本并单击【设置】。如下图所示
  3. 在弹出的”php 管理”窗口中,单击【禁用函数】。
  4. 在禁用函数列表中,查找到shell_exec 函并单击【删除】。如下图所示:
  5. 重启 PHP 即可完成操作。
  6. 若删除禁用函数shell_exec 后,依旧无法正常切换使用。您可以将 Discuz! Q 站点目录下public_1 目录中的skin.conf文件复制并替换至 Discuz! Q 站点目录下的public 目录,并重新进行尝试。

相关文章

Discuz Q

DiscuzQ2.0 使用的是 jsonapi 增删改查路由例子

2021-5-31 9:18:00

Discuz Q

DiscuzQ3.0文件与栏目详解

2021-8-6 2:47:27

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索