目录
操作场景
本文档将指导您如何在已安装 Nginx 服务的 Linux 服务器上安装部署 Discuz! Q。
TIP
- 若您已知晓如何安装部署 Discuz! Q,您可以直接单击此处
- (opens new window)下载 Discuz! Q 进行安装部署。
- 本文档以 Nginx 1.18.0 版本、PHP 7.3.23 、CentOS 7.6 为例。
# 前提条件
- 服务器已安装的 PHP 版本为 7.2.5 及以上(暂不推荐使用7.4),数据库使用 MySQL 5.7.9 版本以上或MariaDB 10.2以上。
- 已成功登录 Linux 服务器。
# 操作步骤
# 步骤一:配置PHP
# 安装扩展
TIP
- Discuz! Q 依赖于
BCMath
Ctype
Curl
Dom
Fileinfo
GD
JSON
Mbstring
Exif
OpenSSL
PDO
PDO_mysql
Tokenizer
XML
Zip
扩展插件,在 PHP 中需开启以上扩展。 - 以下操作因为系统版本,软件版本的不同,操作上会有所差异,请根据您的具体情况进行开启对应扩展,以下操作仅提供示例。
- 查看 php 已安装扩展。在终端中,可以输入
php -m
查看已安装扩展。 - 安装缺失扩展。在终端中,您可以根据查询结果安装对应缺失的扩展。
- 如缺失
Exif
扩展。可以使用以下命令进行编译安装扩展Exif
扩展。
- 如缺失
TIP
以下路径仅提供示例。请根据实际情况进行输入。
# 使用 cd 命令进入 php 的源码的exif模块目录。
cd /root/lnmp1.7/src/php-7.3.23/ext/exif/
# 执行 phpize 脚本。
/usr/local/php/bin/phpize
# 编译配置。
./configure --with-php-config=/usr/local/php/bin/php-config
# 编译安装 exif 模块。
make && make install
- 配置
php.ini
文件。可在终端中输入php --ini
查看php.ini
配置文件路径。如下图所示:
- 您可通过
vim
命令,或使用 WinSCP 工具,根据查询到的文件路径,打开php.ini
文件。 - 编辑
php.ini
文件,去掉以下字段前面的;
分号,并保存php.ini
文件。如下所示
extension=exif
exif.encode_unicode = ISO-8859-15
exif.decode_unicode_motorola = UCS-2BE
exif.decode_unicode_intel = UCS-2LE
exif.encode_jis =
exif.decode_jis_motorola = JIS
exif.decode_jis_intel = JIS=
- 重启 PHP 与 Nginx 服务。
TIP
您可以参考
service php-fpm restart
与nginx -s reload
命令重启 PHP 与 Nginx 服务。
# 步骤二:安装 PHP 函数
TIP
- Discuz! Q 依赖于
symlink
、readlink
、putenv
、realpath
、shell_exec
函数,在PHP中需开启以上函数。 - 以下操作因为系统版本,软件版本的不同,操作上会有所差异,请根据您的具体情况进行开启对应函数,以下操作仅提供示例。
- 打开并编辑
php.ini
文件。查找disable_functions
字段,并删除禁用掉的symlink
、readlink
、putenv
、realpath
、shell_exec
函数。如下所示:
disable_functions = passthru,exec,system,chroot,chgrp,chown,shell_exec,proc_open,proc_get_status,popen,ini_alter,ini_restore,dl,openlog,syslog,popepassthru,stream_socket_server
- 保存
php.ini
文件。 - 重启 PHP 与 Nginx 服务。
# 步骤三:下载并解压 Discuz!Q 安装包
- 您可以通过以下命令在网站主目录下创建 Discuz!Q 网站目录,下载 Discuz!Q 安装包与解压。
# 创建Discuz!Q 网站目录,目录名可自定义,此处以discuz为例。
mkdir discuz
#进入 discuz目录
cd discuz
#下载Discuz!Q 安装包
wget -c https://dl.discuz.chat/dzq_latest_install.zip
#解压 Discuz!Q 安装包
unzip dzq_latest_install.zip
# 步骤四:配置 Nginx
- 查看
nginx
配置文件。您可以使用nginx -t
命令查看nginx.conf
配置文件路径。如下所示:
- 您可通过
vim
命令,或使用 WinSCP 工具,打开nginx.conf
配置文件进行以下配置。
WARNING
Nginx 必须包含以下配置。
请将root
目录指向 <站点主目录>/public
目录,同时一定要配置index
和 location /
,将所有的请求将引导到 index.php
。具体配置请参考如下:
# root 配置
请确认 root
指向了安装好的 public
目录,以下是示例,请按自己的实际配置设置。
root /home/www/discuz/public;
# index 配置
请确认 index 的第一项是 index.php ,以下为示例。
index index.php index.html;
# location 配置
请确认 location / 按如下配置,如果之前有相关配置,请替换:
location / {
try_files $uri $uri/ /index.php?$query_string;
}
# Nginx 建议配置
建议添加以下配置,以启用 gzip 压缩,减少服务器资源损耗。
gzip on;
gzip_min_length 1024;
gzip_types application/json text/html text/css application/x-javascript application/javascript application/vnd.api+json;
gzip_disable "MSIE [1-6]\.";
gzip_comp_level 2;
# 步骤五:初始化安装 Discuz! Q
- 打开本地浏览器,访问
http://<绑定网站的域名名称>/dl.php
。如下图所示:
TIP
- 站点如需部署 SSL 证书,使用 HTTPS 协议进行站点访问。请在以下操作之前部署安装 SSL 证书,并使用
https://<绑定网站的域名名称>/dl.php
进行访问。部署安装 SSL 证书详情操作请参考: Nginx 服务器证书安装
- (opens new window)。
- 如需购买 SSL 证书,可参考 SSL 证书购买流程
(opens new window),请根据您的实际情况进行购买相关证书。腾讯云为 Discuz! Q 站点提供免费 SSL 证书申请。详情请查看:域名型(DV)免费证书申请流程
- (opens new window)
- 单击【下一步】,Discuz! Q 将自行进行站点检查。如有报错等问题,可参考 常见问题
- (opens new window) 进行排查处理。
- Discuz! Q 检查完成后,需配置网站相关信息。如下图所示:
- 站点名称:请输入您的站点名称信息,可自定义。
- MySQL 服务器地址:请输入您的 MySQL 服务器地址。
- 数据库名称:请输入您的数据库名称。
- MySQL 用户名:请输入您的数据库用户名。
- MySQL 密码:请输入您的数据库密码。
- 表前缀:可选,可自定义数据库表前缀名称。默认不填。
- 设置管理员用户名:请输入您 Discuz! Q 站点的管理员用户名。
- 设置管理员密码:请输入您 Discuz! Q 站点的管理员密码。
- 管理员密码确认:请再次输入您 Discuz! Q 站点的管理员密码。
- 单击【下一步】。即可完成 DIscuz!Q 的安装部署。
# 步骤六:添加计划任务
为保证 DIscuz!Q 站点功能的正常使用。您还需要在服务器添加计划任务。在终端中输入以下命令并执行。
php <网站主目录>/disco schedule:run >> /dev/null 2>&1