当前位置: 首页 > news >正文

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

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

文章目录

    • Linux宝塔面板搭建Discuz论坛, 并内网穿透实现公网访问
    • 前言
        • 1.安装基础环境
        • 2.一键部署Discuz
        • 3.安装cpolar工具
        • 4.配置域名访问Discuz
        • 5.固定域名公网地址
        • 6.配置Discuz论坛

在这里插入图片描述

📷 江池俊: 个人主页
🔥个人专栏: ✅数据结构探索 ✅cpolar
🌅 有航道的人,再渺小也不会迷途。

前言

Crossday Discuz! Board(以下简称 Discuz!)是一套通用的社区论坛软件系统,用户可以在不需要任何编程的基础上,通过简单的设置和安装,在互联网上搭建起具备完善功能、很强负载能力和可高度定制的论坛服务。

下面我们在Linux上使用宝塔面板+Discuz+cpolar内网穿透工具结合,搭建一套发布到互联网环境的论坛服务,无需公网IP服务器、也无需设置路由器。

1.安装基础环境

安装PHP版本,由于Discuz支持的最高PHP7.4版本环境,我们在面板中安装PHP7.0版本,搜索PHP,即可看到,然后点击安装即可

image-20230315114812470

安装一个数据库,如果已经安装,可以跳过,点击面板上数据库,点击安装

image-20230314180023904

然后修改一下数据库密码,改成自己能记住的密码,用户名为root

image-20230314180357402

2.一键部署Discuz

在面板中搜索一下关键字Discuz,然后点击一键部署

image-20230315132925646

设置参数,域名设置本机域名127.0.0.1,端口号可以自定义,然后设置数据库账号密码,数据库用户名和密码自己设置,点击提交,然后等待下载完成

image-20230315141442776

然后我们点击面板中的网站,即可看到我们刚刚部署的站点,

image-20230315140745617

接下来在面板中开放一个端口:8089

image-20230315141732450

打开浏览器,使用Linux 局域网ip+:8090(上面设置的端口号)进行访问,出现安装向导界面表示成功

image-20230315141848464

3.安装cpolar工具

打开宝塔终端命令窗口,使用cpolar一件安装脚本:

curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash

image-20230303183721806

token认证

登录cpolar官网www.cpolar.com,点击左侧的验证,查看自己的认证token,之后将token贴在命令行里

cpolar authtoken xxxxxxx

20230111103532

向系统添加服务

sudo systemctl enable cpolar

启动cpolar服务

sudo systemctl start cpolar

在宝塔面板中选择安全.然后开放9200端口

image-20230303184430176

然后数据Linux局域网ip+:9200端口即可出现cpolar管理界面

image-20230303184618711

输入官网注册的账号登陆即可对隧道进行操作.

4.配置域名访问Discuz

我们在cpolar管理界面创建一个随机的8089的隧道:

  • 隧道名称:可自定义,注意不要重复
  • 协议:http
  • 本地地址:8089
  • 端口类型:随机域名
  • 地区:China vip

点击创建

image-20230315144256453

然后打开在线隧道列表,查看创建隧道的公网地址,复制地址

打开浏览器,使用上面的公网地址访问,既然出现了欢迎页,表示成功

image-20230315144954997

5.固定域名公网地址

需升级至基础套餐或以上才支持配置固定域名

登录cpolar官网后台,点击左侧仪表盘的预留,找到保留二级子域名,为http隧道保留一个二级子域名。

  • 地区:选择服务器地区
  • 名称:填写您想要保留的二级子域名(可自定义)
  • 描述:即备注,可自定义填写

image-20230315150417685

本例保留一个名称为DiscuzTest的二级子域名。子域名保留成功后,我们将子域名复制下来,接下来需要将其配置绑定到隧道中去。

image-20230315150447911

登录cpolar web ui管理界面。点击左侧仪表盘的隧道管理——隧道列表,找到需要配置二级子域名的隧道(本例中为Discuz隧道),点击右侧的编辑

image-20230315145802386

修改隧道信息,将二级子域名配置到隧道中:

  • 域名类型:改为选择二级子域名
  • Sub Domain:填写我们刚刚所保留的二级子域名(本例为typechoTest

修改完成后,点击更新

image-20230315150653173

隧道更新成功后,点击左侧仪表盘的状态——在线隧道列表,可以看到DiscuzTest隧道的公网地址,已经更新为二级子域名了,将公网地址复制下来。

image-20230315150728034

打开浏览器,我们来测试一下访问配置成功的二级子域名,出现安装向导界面表示成功,可以正常访问。现在,我们全网唯一的私有二级子域名,就创建好了。

image-20230315151503791

6.配置Discuz论坛

点击我同意后,出现提示信息说版本太老,取消即可继续安装

image-20230315151647274

点击下一步

image-20230315151742613

选择全新安装

image-20230315151912495

然后需要配置数据库,我们填写数据库root用户名和root的密码,然后设置管理员密码,点击下一步

image-20230315152402908

然后就安装完成啦,点击访问

image-20230315152500793

然后我们已经搭建好了Discuz论坛,并且结合了cpolar映射的公网域名地址,可以远程访问啦,不受局域网络限制

image-20230315152701056


相关文章:

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

Linux宝塔面板搭建Discuz论坛, 并内网穿透实现公网访问 文章目录 Linux宝塔面板搭建Discuz论坛, 并内网穿透实现公网访问前言1.安装基础环境2.一键部署Discuz3.安装cpolar工具4.配置域名访问Discuz5.固定域名公网地址6.配置Discuz论坛 📷 江池…...

[git] 忽略已经提交的文件或文件夹

文件已经被Git跟踪 如果某个文件已经被Git跟踪过&#xff08;即已经添加到版本控制中&#xff09;&#xff0c;.gitignore文件对该文件将不起作用。您需要使用以下命令将该文件从Git中移除&#xff1a; git rm --cached <文件> 支持文件夹 -r <文件夹>...

大模型增量预训练参数说明

在增量预训练过程中通常需要设置三类或四类参数,模型参数,数据参数,训练参数,额外参数。 下面分别针对这四种参数进行说明。 欢迎关注公众号 模型参数 model_type模型类型,例如bloom,llama,baichuan,qwen等。 model_name_or_path模型名称或者路径。 tokenizer_name_or…...

成为AI产品经理——模型评估概述

目录 一、模型宣讲和评估的原因 二、模型宣讲 三、模型评估 1. 重要特征 ① 特征来源 ②特征意义 2.选择测试样本 3.模型性能和稳定性 一、模型宣讲和评估的原因 刘海丰老师提到他们在做一个金融AI产品未注重模型指标&#xff0c;过于注重业务指标&#xff0c;导致产生…...

内存屏障与JVM指令

内存屏障是一种同步原语&#xff0c;用于确保在并发程序中&#xff0c;当一个线程对内存中的数据进行修改后&#xff0c;其他线程可以及时地获取到最新的数据。 内存屏障可以确保指令的执行具有原子性、可见性和顺序性。在JVM中&#xff0c;内存屏障通常通过插入一段特殊的指令…...

深入理解JVM 类加载机制

深入理解JVM 类加载机制 虚拟机如何加载Class文件&#xff1f; Class文件中的信息进入到虚拟机后会发生什么变化&#xff1f; 类加载机制就是Java虚拟机把描述类的数据从Class文件加载到内存&#xff0c;并对数据进行校验、转换解析和初始化&#xff0c;最终形成可以被虚拟机…...

SpringCloud微服务 【实用篇】| Eureka注册中心、Ribbon负载均衡

目录 一&#xff1a;Eureka注册中心 1. Eureka原理 2. 动手实践 ①搭建EurekaServer ②服务注册 ③服务发现 二&#xff1a;Ribbon负载均衡 1. 负载均衡原理 2. 负载均衡策略 3. 懒加载 tips&#xff1a;前些天突然发现了一个巨牛的人工智能学习网站&#xff0c;通俗…...

SpringSecurity+JWT权限认证

SpringSecurity默认的是采用Session来判断请求的用户是否登录的&#xff0c;但是不方便分布式的扩展 虽然SpringSecurity也支持采用SpringSession来管理分布式下的用户状态&#xff0c;不过现在分布式的还是无状态的Jwt比较主流 一、创建SpringBoot的项目 spring-boot-starte…...

Tomcat实现WebSocket即时通讯 Java实现WebSocket的两种方式

HTTP协议是“请求-响应”模式&#xff0c;浏览器必须先发请求给服务器&#xff0c;服务器才会响应该请求。即服务器不会主动发送数据给浏览器。 实时性要求高的应用&#xff0c;如在线游戏、股票实时报价和在线协同编辑等&#xff0c;浏览器需实时显示服务器的最新数据&#x…...

安全框架springSecurity+Jwt+Vue-2(后端开发)

一、创建项目及配置 ①&#xff1a;创建新的项目及常用包 ②&#xff1a;引入依赖和配置 devtools&#xff1a;项目的热加载重启插件 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId&…...

6.1.webrc媒体协商

那今天呢&#xff1f;我们来看一下y8 rtc的媒体协商&#xff0c;那实际上在我们之前的课程中呢&#xff1f;我已经向你介绍过y8 rtc的媒体协商了。只不过呢&#xff0c;角度是不一样的&#xff0c;在之前介绍外边tc媒体协商的时候呢&#xff0c;我们是从应用的角度来看。那web …...

Android WebView中打开外部超链接无反应

什么是外部超链接&#xff1f; 相当于是跳转到一个新的网址页面 解决方案选择&#xff1a; 1.在WebView内部中打开外部超链接 设置setSupportMultipleWindows为false即可 webView.settings.setSupportMultipleWindows(false)2.打开系统浏览器打开新页面 设置setSupportMul…...

JMeter集结点的使用场景以及如何使用?

JMeter是一个开源的负载测试工具&#xff0c;它被广泛用于测试应用程序、Web服务和网络协议等的性能。在JMeter中&#xff0c;集结点&#xff08;JMeter Cluster&#xff09;是一种分布式测试环境&#xff0c;它允许多个JMeter实例同时工作来模拟高并发负载。 使用集结点的场景…...

2023最新面试题

第一家 自我介绍介绍一下最近一个&#xff08;最熟悉的一个&#xff09;项目 项目几个人在负责 项目实际在用了吗&#xff0c;哪个平台在用啊&#xff08;在哪里上线&#xff09; 你认为你自己做的项目里面哪个比较难做呢&#xff0c;项目里面有什么难点&#xff1f;常用的是V…...

shell 脚本的函数和数组

函数 —— 封装的一个公式&#xff1a;sin、cos、tan —— 函数为脚本的别名 —— 函数就是一个功能模块&#xff0c;在函数中写执行的命令即可&#xff1b;使用函数可以避免代码重复&#xff0c;增加可读性&#xff0c;简化脚本&#xff0c;使用函数可以将大的工程分割为若…...

【RocketMq系列-02】RocketMq的架构解析和高性能设计

RocketMq系列整体栏目 内容链接地址【一】RocketMq安装和基本概念https://zhenghuisheng.blog.csdn.net/article/details/134486709【二】RocketMq的架构解析和高性能设计/font>https://zhenghuisheng.blog.csdn.net/article/details/134559514 RocketMq的架构解析和高性能设…...

【数据结构/C++】线性表_单链表的基本操作

#include <iostream> using namespace std; // 2. 单链表 // ElemType 的定义 typedef int ElemType; typedef struct LNode {ElemType data;struct LNode *next; } LNode, *LinkList; // 初始化单链表 bool InitList(LinkList &L) {L (LNode *)malloc(sizeof(LNode…...

flink1.13.6版本的应用程序(maven版)

问题 想要一个指定flink版本的java计算任务hello world最简工程。 解决 mvn archetype:generate \-DarchetypeGroupIdorg.apache.flink \-DarchetypeArtifactIdflink-quickstart-java \-DarchetypeVersion1.13.6这里直接使用官方mave模版工程&#xff0c;指…...

深度学习之四(循环神经网络Recurrent Neural Networks,RNNs)

概念 循环神经网络(Recurrent Neural Networks,RNNs)是一类专门用于处理序列数据的神经网络,它在处理时考虑了序列数据的顺序和上下文信息。RNNs 在自然语言处理、时间序列分析、语音识别等领域得到广泛应用。 1. 基本结构: RNN 的基本结构包含一个或多个循环单元,每个…...

【论文精读】HuggingGPT: Solving AI Tasks with ChatGPT and its Friends in Hugging Face

HuggingGPT: Solving AI Tasks with ChatGPT and its Friends in Hugging Face 前言Abstract1 Introduction2 Related Works3 HuggingGPT3.1 Task PlanningSpecification-based InstructionDemonstration-based Parsing 3.2 Model SelectionIn-context Task-model Assignment 3…...

工业级进阶版 LangGraph RAG

工业级进阶版 LangGraph RAG,彻底替换掉老旧的 RetrievalQA 链式写法,实现: 拆分检索、重排、上下文组装、LLM 回答独立节点 条件路由:无需检索直接回答 / 需要检索再走 RAG 支持上下文重排(Rerank)提升精度 完整状态管理、可扩展多轮、人工干预、故障重试 纯 LangGraph …...

别再硬编码密码了!Android Gradle打包时,如何安全地管理签名密钥(附keystore.properties配置)

Android应用签名密钥安全管理的进阶实践 在Android应用开发中&#xff0c;签名密钥是应用身份的唯一标识&#xff0c;也是应用商店验证开发者身份的重要凭证。然而&#xff0c;很多开发者仍然习惯在build.gradle文件中直接硬编码这些敏感信息&#xff0c;这种做法不仅存在安全隐…...

用Python实战PCA异常检测:手把手教你计算T²和SPE统计量(附完整代码)

用Python实战PCA异常检测&#xff1a;手把手教你计算T和SPE统计量&#xff08;附完整代码&#xff09; 在工业过程监控、金融风控或设备故障预警等场景中&#xff0c;异常检测始终是数据分析的核心挑战之一。传统单变量控制图难以捕捉高维数据中的复杂关系&#xff0c;而主成分…...

如何用Python工具完整备份QQ空间青春记忆:GetQzonehistory终极指南

如何用Python工具完整备份QQ空间青春记忆&#xff1a;GetQzonehistory终极指南 【免费下载链接】GetQzonehistory 获取QQ空间发布的历史说说 项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory 你是否担心QQ空间里那些珍贵的青春记忆会随着时间流逝而消…...

提升macOS视频管理效率的完整指南:QLVideo视频预览插件详解

提升macOS视频管理效率的完整指南&#xff1a;QLVideo视频预览插件详解 【免费下载链接】QuickLookVideo This package allows macOS Finder to display thumbnails, static QuickLook previews, cover art and metadata for most types of video files. 项目地址: https://g…...

别再被MyBatis XML里的‘<’和‘>’搞懵了!手把手教你两种转义方法(附CDATA用法)

MyBatis XML中特殊符号处理的实战指南 引言 刚接触MyBatis的开发者经常会遇到一个令人困惑的问题&#xff1a;在SQL工具中运行完全正常的SQL语句&#xff0c;放到MyBatis的XML映射文件中却突然报错。控制台抛出的XML解析错误信息往往晦涩难懂&#xff0c;让人摸不着头脑。实际上…...

告别OFDM卡顿:用MATLAB手把手仿真AFDM波形,搞定高铁、无人机通信的时变信道难题

告别OFDM卡顿&#xff1a;用MATLAB手把手仿真AFDM波形&#xff0c;搞定高铁、无人机通信的时变信道难题 高铁窗外的风景飞速后退&#xff0c;无人机图传画面却开始卡顿——这正是传统OFDM技术在高速移动场景下的典型痛点。当多普勒频移超过一定阈值&#xff0c;正交频分复用的子…...

拆解 Paperxie 毕业论文写作界面:4 步流程 + 细节设计,让你的论文从 0 到 1 不走弯路

paperxie-免费查重复率aigc检测/开题报告/毕业论文/智能排版/文献综述/期刊论文https://www.paperxie.cn/ai/dissertationhttps://www.paperxie.cn/ai/dissertation 打开 Paperxie 的智能写作界面&#xff0c;第一眼就能感受到它对毕业论文写作流程的 “拆解式友好”。整个页面…...

别再只用pack了!Tkinter Scrollbar滚动条与Listbox/Text组件的三种布局实战(附完整代码)

别再只用pack了&#xff01;Tkinter Scrollbar滚动条与Listbox/Text组件的三种布局实战&#xff08;附完整代码&#xff09; 在构建Tkinter GUI应用时&#xff0c;滚动条(Scrollbar)与内容组件(Listbox/Text)的联动布局是开发者经常遇到的痛点问题。很多教程只简单演示pack布局…...

C++在Bing搜索引擎上进行命令行搜索

1. 引言在这篇文章中&#xff0c;我们将介绍一个简单的C程序&#xff0c;允许用户通过命令行输入搜索词&#xff0c;在Bing搜索引擎上执行搜索&#xff0c;并在默认浏览器中显示搜索结果。2. 代码解析首先&#xff0c;我们来看一下完整的C代码&#xff1a;12345678910111213141…...