lnmp架构部署Discuz论坛并配置重定向转发

lnmp架构部署Discuz论坛并配置重定向转发

文章目录

环境说明

主机名称 IP地址 所需服务/架构 系统版本
lnmp 192.168.195.133 nginx-1.24.0 mysql-5.7 php-8.2.11(lnmp架构) centos 8

需要首先部署好lnmp架构。详细步骤请阅读:

源码编译安装部署lnmp

部署Discuz论坛系统

下载Discuz论坛系统代码包,官网地址如下:

Disucz! 下载_免费搭建网站_开源建站系统下载_Discuz!官方_为您提供全方位建站服务!

下载完成后上传到虚拟主机中

部署Discuz论坛系统步骤:

解压安装Discuz源码包
powershell 复制代码
//创建一个网站存放目录
[root@lnmp ~]# mkdir /usr/local/nginx/html/Discuz

//安装解压zip包所需的unzip软件包,并将Discuz的zip解压到我们所创建的网站存放目录
[root@lnmp ~]# yum -y install unzip
[root@lnmp ~]# unzip Discuz_X3.5_SC_UTF8_20231001.zip -d /usr/local/nginx/html/Discuz/
[root@lnmp ~]# cd /usr/local/nginx/html
[root@lnmp html]# ls
404.html  50x.html  auth_page  Discuz  index.html  index.php
[root@lnmp html]# cd Discuz/
[root@lnmp Discuz]# ls
LICENSE  qqqun.png  readme  readme.html  upload  utility.html
[root@lnmp Discuz]# cd upload/
[root@lnmp upload]# ls
admin.php  archiver     crossdomain.xml  forum.php  index.php   misc.php    robots.txt  static     uc_server
api        config       data             group.php  install     plugin.php  search.php  template
api.php    connect.php  favicon.ico      home.php   member.php  portal.php  source      uc_client

//修改所需文件的属主属组、权限
[root@lnmp upload]# chown -R nginx config/
[root@lnmp upload]# chown -R nginx data/
[root@lnmp upload]# chown -R nginx uc_client/
[root@lnmp upload]# chown -R nginx uc_server/
[root@lnmp upload]# chmod -R 777 config/
[root@lnmp upload]# chmod -R 777 data/
[root@lnmp upload]# chmod -R 777 uc_client/
[root@lnmp upload]# chmod -R 777 uc_server/

//创建数据库
[root@lnmp ~]# mysql -uroot -p12345678 -e "create database Discuz;"
mysql: [Warning] Using a password on the command line interface can be insecure.
[root@lnmp ~]# mysql -uroot -p12345678 -e "show databases;"
mysql: [Warning] Using a password on the command line interface can be insecure.
+--------------------+
| Database           |
+--------------------+
| information_schema |
| Discuz             |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
[root@lnmp ~]# mysql -uroot -p12345678 -e "grant all on Discuz.* to 'Discuz'@'%' identified by '12345678';"
mysql: [Warning] Using a password on the command line interface can be insecure.
[root@lnmp ~]# mysql -uroot -p12345678 -e "grant all on Discuz.* to 'Discuz'@'localhost' identified by '12345678';"
mysql: [Warning] Using a password on the command line interface can be insecure.
[root@lnmp ~]# mysql -uroot -p12345678 -e "flush privileges;"
mysql: [Warning] Using a password on the command line interface can be insecure.
配置虚拟主机
powershell 复制代码
//编辑nginx的配置文件,创建一个虚拟主机,使其可以用域名访问
[root@lnmp ~]# vim /usr/local/nginx/conf/nginx.conf
[root@lnmp ~]# cat /usr/local/nginx/conf/nginx.conf
.......
server {
        listen       80;
        server_name  www.ftx.com;     //自己的域名
        
        
        location / {
            root   html/Discuz/upload;           //改为网站目录
            index  index.php index.html index.htm;
        }
        
        location ~ \.php$ {
            root           html/Discuz/upload;     //改为网站目录
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
            include        fastcgi.conf;
        }
    }
......

[root@lnmp ~]# nginx -s reload   //重新读取
进入Discuz安装界面







安装完成

再次通过ip直接访问站点
创建一个新的账号


注册成功

域名访问


域名访问同样能够成功

配置重定向转发

当我们之前的域名因为某些特殊原因从而导致后续无法继续使用,然而又不能直接更改域名,防止旧用户仍旧使用老域名访问时而无法访问,为了用户体验,这时就需要我们做一个转发,也就是写一个重定向转发域名的配置

例如我们的www.yyr.com作为我们的旧域名,如今想让新域名能够访问到之前的网页,需在nginx.conf配置文件中添加如下内容:

powershell 复制代码
[root@lnmp conf]# vim nginx.conf 
[root@lnmp conf]# cat nginx.conf
. . . . .
server {
        listen       80;
        server_name  www.yyr.com;

        location / {
            root   html;
            index  index.php index.html index.htm;
            rewrite ^/(.*)$ http://www.ftx.com/$1 break;
        }

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }




        location ~ \.php$ {
           root           html;
           fastcgi_pass   127.0.0.1:9000;
           fastcgi_index  index.php;
           fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
           include        fastcgi.conf;
        }
    }
. . . . . 
[root@lnmp conf]# nginx -s reload     //重新加载

使用旧域名访问

使用新域名访问

若按照上述步骤部署后还是无法访问,可以试试其他浏览器(如:Google)

相关推荐
yyueshen14 分钟前
RabbitMQ系列(一)架构解析
分布式·架构·rabbitmq
likfishdn21 分钟前
Linux的文件与目录管理
linux·运维·服务器
chian-ocean40 分钟前
Linux 文件缓冲区:高效数据访问的幕后推手
linux·运维·服务器
加油=^_^=42 分钟前
【Linux】进程优先级 | 进程调度(三)
linux·运维·服务器
若云止水1 小时前
Ubuntu 下 nginx-1.24.0 源码分析 - ngx_init_cycle 函数 - 详解(4)
数据库·nginx·ubuntu
深度Linux1 小时前
深入探讨Ceph:分布式存储架构的未来
分布式·ceph·架构·c/c++
吃汤圆的抹香鲸1 小时前
GoLand 安装包 绿色版 Win,Mac,Linux 包含IntelliJ全家桶 专为Go语言设计的集成开发环境(IDE)
linux·windows·macos·go·intellij-idea·go1.19
追寻光1 小时前
Cannot find a valid baseurl for repo: base/7/x86_64
linux
元气满满的热码式1 小时前
Docker数据卷操作实战
linux·运维·docker·云原生·容器
陆沙2 小时前
deepseek-r1-centos-本地服务器配置方法
linux·服务器·centos