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)

相关推荐
翔云API几秒前
人证合一接口:智能化身份认证的最佳选择
大数据·开发语言·node.js·ocr·php
企业管理8MSaaS4 分钟前
了解CRM销售自动化:类型、优势、策略和工具
运维·自动化
hai4117419627 分钟前
mysql 与postgresql 的区别(gpt4)
数据库·mysql·postgresql
知识分享小能手17 分钟前
mysql学习教程,从入门到精通,SQL 删除数据(DELETE 语句)(19)
大数据·开发语言·数据库·sql·学习·mysql·数据开发
宇宙第一小趴菜28 分钟前
虚拟机安装xubuntu
linux·服务器·vmware
白总Server32 分钟前
MongoDB解说
开发语言·数据库·后端·mongodb·golang·rust·php
冰镇毛衣38 分钟前
2.4 数据库表字段约束
数据库·sql·mysql
创小董43 分钟前
智能机巢+无人机:自动化巡检技术详解
运维·自动化·无人机
henanxiaoman1 小时前
SaltStack自动化运维部署
运维·自动化·saltstack
fakaifa1 小时前
八戒农场小程序V2最新源码
小程序·uni-app·php·生活·开源软件