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)

相关推荐
Lary_Rock32 分钟前
RK3576 LINUX RKNN SDK 测试
linux·运维·服务器
云飞云共享云桌面2 小时前
8位机械工程师如何共享一台图形工作站算力?
linux·服务器·网络
Peter_chq3 小时前
【操作系统】基于环形队列的生产消费模型
linux·c语言·开发语言·c++·后端
Yaml43 小时前
Spring Boot 与 Vue 共筑二手书籍交易卓越平台
java·spring boot·后端·mysql·spring·vue·二手书籍
追风林4 小时前
mac 本地docker-mysql主从复制部署
mysql·macos·docker
一坨阿亮4 小时前
Linux 使用中的问题
linux·运维
dsywws5 小时前
Linux学习笔记之vim入门
linux·笔记·学习
龙哥·三年风水6 小时前
群控系统服务端开发模式-应用开发-个人资料
分布式·php·群控系统
Dann Hiroaki6 小时前
GPU架构概述
架构
幺零九零零6 小时前
【C++】socket套接字编程
linux·服务器·网络·c++