IT小能手 影视后期
电视民工 资深站长

Discuz!Q常见问题FAQ


0.测试版升级方案

下载最新代码

这个命令会将最新版本的Discuz! Q代码下载到当前目录的 dz-temp 目录中
更新原安装目录
将 dz-temp 下的所有文件,覆盖到原安装目录下。比如原来的安装目录是 /wwwroot/discuz,那么运行命令

更新composer依赖
进入原安装目录,运行 composer update

1.安装后,首屏无限加载,一直出现loading加载动画

解决方法:
清空你的浏览器缓存或者打开浏览器的开发者模式-Application-Storage-Local Storage,右击Clear,然后刷新浏览器即可。

2.安装时提示函数禁用

运行composer的时候,composer有可能类似下面的提示

或者

这是因为你的php.ini文件中,禁用了这些函数,请按如下方法操作:
解决方法:
方法1:
[v_notice]运行 php --ini ,找到你的 php.ini 文件的位置,修改其中的 disable_functions 设置项,这里列出了所有被禁用的函数,将其中的函数删除即可。[/v_notice] 方法2:
[v_notice]通过 php --ini,找到 php.ini 文件的位置
将其在原位置复制一份,命名为 php-cli.ini
再次运行 php --ini ,确认 php-cli.ini 生效
修改 php-cli.ini,将 disable_functions 做相应修改,或者完全注释掉
方法2不影响 php-fpm 运行的配置,相对安全性更高一些[/v_notice]

3.上传头像不显示或不能上传文件

解决方法:创建软连接
ln -s /www/wwwroot/www/storage/app/public/ /www/wwwroot/www/public/storage
按需更改不要直接照搬复制粘贴。

4.composer下载太慢,无法完成安装

解决方法:
将composer镜像设置为阿里云的镜像。设置完成后,composer所有的下载,都会通过腾讯云镜像进行,可大大提高下载速度。
设置镜像的命令为:

或者腾讯云:

5.后台微信登陆无法配置

解决方法:
关闭后再开启,虽然刷新后还是空白,没有数据,但是数据库里已经有了,就可以用了,下一步等待官方修复。
可以进入settings表查看offiaccount值,如果有数据就说明已经写入数据表。

6.宝塔配置文件整合版

整合了原宝塔的配置文件和Discuz!Q的配置文件,懒人专用,按需更改不要直接照搬复制粘贴。
点击下载

7.升级方法

下载最新代码
composer create-project qcloud/discuz dz-temp --prefer-dist --repository=https://cloud.discuz.chat --no-install
这个命令会将最新版本的Discuz! Q代码下载到当前目录的 dz-temp 目录中
更新原安装目录
将 dz-temp 下的所有文件,覆盖到原安装目录下。比如原来的安装目录是 /wwwroot/discuz,那么运行命令
cp -r ./dz-temp/* /wwwroot/discuz/
更新composer依赖
进入原安装目录,运行 composer update

8.安装composr

(运行下 composer -v查看是否有,如果正常就跳过这一步)

宝塔(bt)面板如何使用composer

9.如何实现官方的v.xxx.com这样的视频地址

需要在腾讯云视频里配置绑定域名
按这个文档添加域名:
https://cloud.tencent.com/document/product/266/33371#.E6.B7.BB.E5.8A.A0.E5.9F.9F.E5.90.8D
再按这个文档设置成主域名:
https://cloud.tencent.com/document/product/266/33373
可以按这个文档添加ssl证书:
https://cloud.tencent.com/document/product/266/33372

10.启动gzip压缩

Discuz! Q在运行中,浏览器会请求的文本类文档包含以下类型:text/html, text/css, application/vnd.api+json, application/x-javascript,建议在Web服务器中打开这些文档类型的gzip压缩,以减少下载的数据量。经测算,在nginx中打开gzip压缩,并将压缩等级设置为2的时候,下载的平均数据量是打开压缩前的 1/3 左右。nginx中的配置参考如下:

11.正确获取客户的真实IP

在Discuz! Q中,因安全原因,只使用 $_SERVER['REMOTE_ADDR'] 这一种方式获取客户的IP地址。请正确配置你的服务器,以保证Discuz! Q可以正确获取到客户的IP地址。
如果你是通过你的服务器上的公网IP地址直接对外提供服务,则无需额外配置
如果你使用腾讯云的负载均衡器(CLB) + 腾讯云的云服务器(CVM)的配置,无论配置的是4层还是7层负载均衡,都无需额外配置
如果你使用自建的负载均衡,或其它的负载均衡,则默认只能获取到负载均衡的IP,无法获取到用户的真实IP,请按此文档配置,获取用户的真实IP

12.启用opcache

在php.ini中启用opcache,可提高php代码的运行效率,参考配置如下

请注意,这样设置后,每次更新Discuz! Q,需要重启php-fpm,新的代码才能生效。

13.基于Docker容器运行Discuz! Q

首先确保你已经按上面的内测要求完成了内测申请,并准备好了 SecretId 和 SecretKey。同时你的服务器安装好了 docker-ce 运行环境,如果还没有下载,腾讯云提供了镜像
接下来,请运行以下命令,并在用户名处输入 SecretId,密码处输入 SecretKey,并确认命令返回登录成功

下一步可以直接启动Discuz! Q

docker会自动下载并运行最新版本的Discuz! Q。此容器基于 Ubuntu 18.04,其中安装了 Nginx 1.14, PHP 7.2, MySQL 5.7 和所有的相关依赖,并且已经完成了Web服务器配置和计划任务配置,可直接进入安装界面进行初始化。数据库 root 用户的密码已被设置为 root。
[v_notice]注意:
以上命令用于快速启动并测试Discuz! Q,数据库和站点数据都将保存在容器内部,容器被删除将会造成数据丢失。
如果您想基于容器长期运行Discuz! Q,建议将数据库和站点数据保存于容器外部,请参考容器的更多配置说明进行配置。[/v_notice]

14.如何将数据保存到容器外部

本容器支持以下三个外部映射目录:
数据库文件,映射到 /var/lib/mysqldb/
Discuz! Q的配置与存储目录,映射到 /var/lib/discuz/
SSL证书文件,映射到 /etc/nginx/certs/,其中要求存在两个文件 discuz.crt 和 discuz.key。如果不使用SSL协议,可不配置此目录。
因此,如果你想长期使用容器来运行Discuz! Q,建议在启动容器的时候加入这三个参数进行映射。

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

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

15.基于容器的升级

只要将数据保存到了容器外部,在升级时,只要将原容器停止并删除,然后用以下命令下载最新版本镜像

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

16.基于容器的一些其它配置

如果你想对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,可同样映射修改

17.Web 服务器配置

Web服务器推荐启用SSL(https协议)
Nginx

如果你使用 Nginx ,除了PHP的相关配置之外,还要在你的站点配置中加入以下配置,建议(非强制)开启 https 和 http2 ,将root目录指向 discuz/public 目录,同时一定要配置 location /、location /install 和 location /api ,将所有的请求将引导至 index.html 前端控制器和后端 index.php API控制器:
Apache
Apache要在配置中,将 DocumentRoot 指向 discuz/public 目录,同时通过重写规则,将 /install 和 /api 请求转发给 index.php,其它请求由 index.html 处理

18.计划任务

目前统计财务报表需要用到系统计划任务,Linux 服务器配置如下:

19.配置说明

公共路径
安装完 Discuz! Q 之后,你的 web 服务的文档目录指向 public 路径。该路径下的 index.php 文件作为所有接口控制器, index.html 作为所有前端 HTTP 请求控制器。
配置文件
Discuz! Q 的所有配置文件存放在 config 目录下。每个选项都有文档标注,便于通过文件查看并熟悉对你有用的选项。
目录权限
在安装 Discuz! Q 后,你可能需要配置一些权限。 storage 目录在你的 web 服务下应该是可写的权限,否则 Discuz! Q 将无法运行。
应用密钥
在安装过程中,应用密钥已经通过 php disco key:generate 命令为你设置好了。
通常,这个字符串应该是 32 个字符长度。这个密钥将会设置在 config.php 文件中。如果应用密钥还没有设置,你的用户会话和其他的加密数据将会不安全
其他配置
Discuz! Q 几乎不需要除上面所说的其他什么配置了。打开你的站点开始你建站之旅然而,你可能会想要再次查看 config/config.php 文件和它的注释说明。它包含一些你希望根据你应用来更改的选项,诸如: timezone 和 locale 。

 收藏 (0) 打赏

您可以选择一种方式打赏本站

支付宝扫一扫打赏

微信钱包扫描打赏

文章、资料来源于网络,如需转载请载明出处:LonHowe Blog » Discuz!Q常见问题FAQ

分享到: 生成海报
avatar
一个爱折腾的狮子座少年。

热门文章

  • 评论 抢沙发

    • QQ号
    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址

    LonHowe Blog

    LinksAbout Me
    切换注册

    登录

    忘记密码 ?

    您也可以使用第三方帐号快捷登录

    切换登录

    注册

    我们将发送一封验证邮件至你的邮箱, 请正确填写以完成账号注册和激活