搜索
当前位置:首页 > 知识 > linux安装discuz

linux安装discuz

发表于 2026-10-17 07:00:21 来源:力不从心网

Discuz 在 Linux 上的安装,说到底就三件事:PHP 环境、MySQL 数据库、文件权限。我见过太多人卡在权限上折腾一整天,其实问题往往出在一个很蠢的地方——SELinux 没关。

先确认你的系统。CentOS 7/8、Ubuntu 20.04/22.04 都行,我用 Ubuntu 22.04 举例,别的发行版把 apt 换成 yum 或 dnf 就行。

装 PHP 和 MySQL

Discuz X3.5 要求 PHP 7.4 以上,MySQL 5.7 或 MariaDB 10.3 以上。Ubuntu 下一条命令搞定:

sudo apt install php php-fpm php-mysql php-gd php-xml php-mbstring php-curl php-zip mysql-server nginx -y

装完检查一下 PHP 版本:php -v。如果显示 8.1 或 8.2,没问题,Discuz 新版本已经兼容了。老版本 X3.4 在 PHP 8 下会报一堆 deprecated 警告,建议用 PHP 7.4,但 Ubuntu 22.04 默认源里没有,得加 ppa:ondrej/php,这个自己搜一下,不展开。

MySQL 装好后跑 sudo mysql_secure_installation,设 root 密码,删匿名用户,禁止远程 root 登录。然后建库:

CREATE DATABASE discuz DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; CREATE USER 'discuz'@'localhost' IDENTIFIED BY '你的密码'; GRANT ALL PRIVILEGES ON discuz.* TO 'discuz'@'localhost'; FLUSH PRIVILEGES;

字符集一定用 utf8mb4,别用 utf8。MySQL 里的 utf8 是残废的,存不了 emoji,以后用户发个表情就乱码,你哭都来不及。

下载和放置文件

去 Discuz 官网或 Gitee 下载最新版,解压后把 upload 目录里的东西全部拷到网站根目录。我习惯放 /var/www/discuz。

wget https://gitee.com/Discuz/DiscuzX/releases/download/v3.5/Discuz_X3.5_SC_UTF8_20230520.zip unzip Discuz_X3.5_SC_UTF8_20230520.zip sudo mv upload /var/www/discuz

接下来是重头戏——权限。Discuz 安装时要写 config 目录,还要往 data、uc_client、uc_server 里写缓存。偷懒的做法是:

sudo chown -R www-data:www-data /var/www/discuz sudo chmod -R 755 /var/www/discuz sudo chmod -R 777 /var/www/discuz/config /var/www/discuz/data /var/www/discuz/uc_client /var/www/discuz/uc_server

777 不安全,但装完可以改回 755。我一般装完就把 777 撤掉,只留 config 目录可写,其他目录让 www-data 拥有就行。

Nginx 配置

别用 Apache,Nginx 配 Discuz 更清爽。在 /etc/nginx/sites-available/discuz 写:

server {  listen 80; server_name your_domain.com; root /var/www/discuz; index index.php index.html; location / {  try_files $uri $uri/ /index.php?$query_string; } location ~ \.php$ {  include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php8.1-fpm.sock; } location ~ /\.ht {  deny all; } }

软链接到 sites-enabled,然后 nginx -t 测试,systemctl reload nginx。PHP-FPM 的 socket 路径根据你装的版本改,用 ls /run/php/ 看一眼就知道。

跑安装向导

浏览器打开你的域名,应该看到 Discuz 安装界面。如果显示 403,检查 Nginx 用户和文件权限;如果显示 502,PHP-FPM 没跑起来,systemctl status php8.1-fpm 看日志。数据库地址填 localhost,库名 discuz,用户 discuz,密码是你刚才设的。

安装过程会提示你哪些目录不可写,照着改权限就行。装完记得删掉 install 目录,不然被人重装就完蛋:

sudo rm -rf /var/www/discuz/install

最后说一个坑:如果你用 CentOS,SELinux 默认开着,Nginx 读不了 /var/www 下的文件,报 403。要么 setenforce 0 临时关,要么 chcon -R -t httpd_sys_content_t /var/www/discuz 改上下文。我一般直接关 SELinux,省事,内网机器无所谓。

装完进后台改改基本设置,把伪静态规则加上,Discuz 的 SEO 会好很多。Nginx 的伪静态规则在后台能直接复制,贴到 server 块里 reload 就行。

随机为您推荐
友情链接
版权声明:本站资源均来自互联网,如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

Copyright © 2016 Powered by linux安装discuz,力不从心网   sitemap

回顶部