Linux 下Discuz论坛的搭建

Posted 小a玖拾柒

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux 下Discuz论坛的搭建相关的知识,希望对你有一定的参考价值。

Discuz论坛的搭建【基于LNMP环境搭建成功后】

##创建BBS数据库在本地/远程服务器

mysql -uroot -proot
create database bbs;
show databases;
grant all on bbs.*to bbs@\'localhost\' identified by \'root\';
grant all on bbs.*to bbs@\'192.168.25.%\' identified by \'root\';     # 远程mysql服务器
flush privileges;
select user,host from mysql.user;
##远程连接数据库:
mysql -ubbs -proot -h 192.168.25.138
echo \' 192.168.25.144 www.bbs.com  bbs.com\'>> /etc/hosts

 

##配置BBS和nginx
在Nginx服务器下面配置bbs的Vhosts

vim /usr/local/nginx/conf/nginx.conf                  -->添加include
vim /usr/local/nginx/conf/extra/bbs.conf                -->配置域名
vim /etc/hosts                                        -->添加DNS解析
/usr/local/nginx/sbin/nginx -t
/usr/local/nginx/sbin/nginx -s reload              -->重启服务
mkdir -p /usr/local/nginx/html/bbs              -->创建虚拟路径
cd /usr/local/nginx/html
chown -R root.root ./bbs
find ./blog/ -type f|xargs chmod 644
find ./blog/ -type d|xargs chmod 755              -->更改权限
server {
        listen       80;
        server_name  www.bbs.com;
        root   html/discuz;
        location / {
#            index  index.html index.htm;
             index  index.php index.html index.htm;
             rewrite ^([^\\.]*)/topic-(.+)\\.html$ $1/portal.php?mod=topic&topic=$2 last;
rewrite ^([^\\.]*)/article-([0-9]+)-([0-9]+)\\.html$ $1/portal.php?mod=view&aid=$2&page=$3 last;
rewrite ^([^\\.]*)/forum-(\\w+)-([0-9]+)\\.html$ $1/forum.php?mod=forumdisplay&fid=$2&page=$3 last;
rewrite ^([^\\.]*)/thread-([0-9]+)-([0-9]+)-([0-9]+)\\.html$ $1/forum.php?mod=viewthread&tid=$2&extra=page%3D$4&page=$3 last;
rewrite ^([^\\.]*)/group-([0-9]+)-([0-9]+)\\.html$ $1/forum.php?mod=group&fid=$2&page=$3 last;
rewrite ^([^\\.]*)/space-(username|uid)-(.+)\\.html$ $1/home.php?mod=space&$2=$3 last;
rewrite ^([^\\.]*)/blog-([0-9]+)-([0-9]+)\\.html$ $1/home.php?mod=space&uid=$2&do=blog&id=$3 last;
rewrite ^([^\\.]*)/(fid|tid)-([0-9]+)\\.html$ $1/archiver/index.php?action=$2&value=$3 last;
rewrite ^([^\\.]*)/([a-z]+[a-z0-9_]*)-([a-z0-9_\\-]+)\\.html$ $1/plugin.php?id=$2:$3 last;
if (!-e $request_filename) {
        return 404;
}
        }
        location ~.*\\.(php|php5)?$ {
             fastcgi_pass  127.0.0.1:9000;
             fastcgi_index index.php;
             include  fastcgi.conf;
        }
        access_log logs/access_discuz.log main;
    }
bbs.conf

##下载&&安装BBS

wget  http://ahdx.down.chinaz.com/201712/Discuz_X3.4_SC_UTF8_0101.zip   -->q不显示
unzip Discuz_X3.4_SC_UTF8*.zip 
rm Discuz_X3.4_SC_UTF8*.zip -rf
cd /usr/local/nginx/html/bbs
cp -rf upload/*  ./                       -->把文件直接放在bbs的根目录下,upload有安装脚本
chmod 644 /usr/local/nginx/html/bbs/*
chown -R nginx.nginx bbs/ -->涉及用户提交头像等操作,简单起见,先改为nginx,后进行修改

页面显示:

http://www.bbs.com/forum.php

检查安装环境

 

收回数据库权限:

drop user bbs@\'192.168.25.%\';
flush privileges;
grant update,insert,delete,drop,select on bbs.*to bbs@\'192.168.25.%\' identified by \'root\';

删除安装程序,防止论坛再次安装

rm -rf /usr/local/nginx/html/bbs/install

image

用户上传的数据:--》将来挂在到NFS上
上传图片的路径:

cd /usr/local/nginx/html/bbs/data/attachment/forum/201709/02

查看头像文件上传路径

cd /usr/local/nginx/html/bbs
find ./ type f -name \'*.jpg\' -mmin -13 
./uc_server/data/avatar/000/00/00/01_avatar_small.jpg

---------------------------------------------------------------------------------------
#伪静态化
1.前台
    管理 ->全局 ->SOE设置 ->勾选URL静态化 ->提交
2.添加如下内容到/extra/bbs.conf 默认的location / 里   [可以查看discuz的规则添加即可]

rewrite ^([^\\.]*)/topic-(.+)\\.html$ $1/portal.php?mod=topic&topic=$2 last;
rewrite ^([^\\.]*)/article-([0-9]+)-([0-9]+)\\.html$ $1/portal.php?mod=view&aid=$2&page=$3 last;
rewrite ^([^\\.]*)/forum-(\\w+)-([0-9]+)\\.html$ $1/forum.php?mod=forumdisplay&fid=$2&page=$3 last;
rewrite ^([^\\.]*)/thread-([0-9]+)-([0-9]+)-([0-9]+)\\.html$ $1/forum.php?mod=viewthread&tid=$2&extra=page%3D$4&page=$3 last;
rewrite ^([^\\.]*)/group-([0-9]+)-([0-9]+)\\.html$ $1/forum.php?mod=group&fid=$2&page=$3 last;
rewrite ^([^\\.]*)/space-(username|uid)-(.+)\\.html$ $1/home.php?mod=space&$2=$3 last;
rewrite ^([^\\.]*)/blog-([0-9]+)-([0-9]+)\\.html$ $1/home.php?mod=space&uid=$2&do=blog&id=$3 last;
rewrite ^([^\\.]*)/(fid|tid)-([0-9]+)\\.html$ $1/archiver/index.php?action=$2&value=$3 last;
rewrite ^([^\\.]*)/([a-z]+[a-z0-9_]*)-([a-z0-9_\\-]+)\\.html$ $1/plugin.php?id=$2:$3 last;
if (!-e $request_filename) {
    return 404;
}
View Code

image

image
3.测试并且重启服务
image

以上是关于Linux 下Discuz论坛的搭建的主要内容,如果未能解决你的问题,请参考以下文章

在lamp架构下搭建discuz论坛

lnmp环境下安装Discuz论坛

LNMP架构搭建Discuz论坛(实战!)

Linux宝塔面板搭建Discuz论坛, 并公网远程访问内网穿透

详述Linux系统中搭建LNMP架构+Discuz论坛

Linux 搭建LAMP论坛