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

前言
Crossday Discuz! Board(以下简称 Discuz!)是一套通用的社区论坛软件系统,用户可以在不需要任何编程的基础上,通过简单的设置和安装,在互联网上搭建起具备完善功能、很强负载能力和可高度定制的论坛服务。
下面我们在Linux上使用宝塔面板+Discuz+cpolar内网穿透工具结合,搭建一套发布到互联网环境的论坛服务,无需公网IP服务器、也无需设置路由器。
1.安装基础环境
安装PHP版本,由于Discuz支持的最高PHP7.4版本环境,我们在面板中安装PHP7.0版本,搜索PHP,即可看到,然后点击安装即可

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

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

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

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

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

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

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

3.安装cpolar工具
打开宝塔终端命令窗口,使用cpolar一件安装脚本:
curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash

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

向系统添加服务
sudo systemctl enable cpolar
启动cpolar服务
sudo systemctl start cpolar
在宝塔面板中选择安全.然后开放9200端口

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

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

4.配置域名访问Discuz
我们在cpolar管理界面创建一个随机的8089的隧道:
- 隧道名称:可自定义,注意不要重复
- 协议:http
- 本地地址:8089
- 端口类型:随机域名
- 地区:China vip
点击创建

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

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

5.固定域名公网地址
需升级至基础套餐或以上才支持配置固定域名
登录cpolar官网后台,点击左侧仪表盘的预留,找到保留二级子域名,为http隧道保留一个二级子域名。
- 地区:选择服务器地区
- 名称:填写您想要保留的二级子域名(可自定义)
- 描述:即备注,可自定义填写

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

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

修改隧道信息,将二级子域名配置到隧道中:
- 域名类型:改为选择
二级子域名 - Sub Domain:填写我们刚刚所保留的二级子域名(本例为
typechoTest)
修改完成后,点击更新

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

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

6.配置Discuz论坛
点击我同意后,出现提示信息说版本太老,取消即可继续安装

点击下一步

选择全新安装

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

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

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

相关文章:
Linux宝塔面板搭建Discuz论坛, 并内网穿透实现公网访问
Linux宝塔面板搭建Discuz论坛, 并内网穿透实现公网访问 文章目录 Linux宝塔面板搭建Discuz论坛, 并内网穿透实现公网访问前言1.安装基础环境2.一键部署Discuz3.安装cpolar工具4.配置域名访问Discuz5.固定域名公网地址6.配置Discuz论坛 📷 江池…...
[git] 忽略已经提交的文件或文件夹
文件已经被Git跟踪 如果某个文件已经被Git跟踪过(即已经添加到版本控制中),.gitignore文件对该文件将不起作用。您需要使用以下命令将该文件从Git中移除: git rm --cached <文件> 支持文件夹 -r <文件夹>...
大模型增量预训练参数说明
在增量预训练过程中通常需要设置三类或四类参数,模型参数,数据参数,训练参数,额外参数。 下面分别针对这四种参数进行说明。 欢迎关注公众号 模型参数 model_type模型类型,例如bloom,llama,baichuan,qwen等。 model_name_or_path模型名称或者路径。 tokenizer_name_or…...
成为AI产品经理——模型评估概述
目录 一、模型宣讲和评估的原因 二、模型宣讲 三、模型评估 1. 重要特征 ① 特征来源 ②特征意义 2.选择测试样本 3.模型性能和稳定性 一、模型宣讲和评估的原因 刘海丰老师提到他们在做一个金融AI产品未注重模型指标,过于注重业务指标,导致产生…...
内存屏障与JVM指令
内存屏障是一种同步原语,用于确保在并发程序中,当一个线程对内存中的数据进行修改后,其他线程可以及时地获取到最新的数据。 内存屏障可以确保指令的执行具有原子性、可见性和顺序性。在JVM中,内存屏障通常通过插入一段特殊的指令…...
深入理解JVM 类加载机制
深入理解JVM 类加载机制 虚拟机如何加载Class文件? Class文件中的信息进入到虚拟机后会发生什么变化? 类加载机制就是Java虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机…...
SpringCloud微服务 【实用篇】| Eureka注册中心、Ribbon负载均衡
目录 一:Eureka注册中心 1. Eureka原理 2. 动手实践 ①搭建EurekaServer ②服务注册 ③服务发现 二:Ribbon负载均衡 1. 负载均衡原理 2. 负载均衡策略 3. 懒加载 tips:前些天突然发现了一个巨牛的人工智能学习网站,通俗…...
SpringSecurity+JWT权限认证
SpringSecurity默认的是采用Session来判断请求的用户是否登录的,但是不方便分布式的扩展 虽然SpringSecurity也支持采用SpringSession来管理分布式下的用户状态,不过现在分布式的还是无状态的Jwt比较主流 一、创建SpringBoot的项目 spring-boot-starte…...
Tomcat实现WebSocket即时通讯 Java实现WebSocket的两种方式
HTTP协议是“请求-响应”模式,浏览器必须先发请求给服务器,服务器才会响应该请求。即服务器不会主动发送数据给浏览器。 实时性要求高的应用,如在线游戏、股票实时报价和在线协同编辑等,浏览器需实时显示服务器的最新数据&#x…...
安全框架springSecurity+Jwt+Vue-2(后端开发)
一、创建项目及配置 ①:创建新的项目及常用包 ②:引入依赖和配置 devtools:项目的热加载重启插件 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId&…...
6.1.webrc媒体协商
那今天呢?我们来看一下y8 rtc的媒体协商,那实际上在我们之前的课程中呢?我已经向你介绍过y8 rtc的媒体协商了。只不过呢,角度是不一样的,在之前介绍外边tc媒体协商的时候呢,我们是从应用的角度来看。那web …...
Android WebView中打开外部超链接无反应
什么是外部超链接? 相当于是跳转到一个新的网址页面 解决方案选择: 1.在WebView内部中打开外部超链接 设置setSupportMultipleWindows为false即可 webView.settings.setSupportMultipleWindows(false)2.打开系统浏览器打开新页面 设置setSupportMul…...
JMeter集结点的使用场景以及如何使用?
JMeter是一个开源的负载测试工具,它被广泛用于测试应用程序、Web服务和网络协议等的性能。在JMeter中,集结点(JMeter Cluster)是一种分布式测试环境,它允许多个JMeter实例同时工作来模拟高并发负载。 使用集结点的场景…...
2023最新面试题
第一家 自我介绍介绍一下最近一个(最熟悉的一个)项目 项目几个人在负责 项目实际在用了吗,哪个平台在用啊(在哪里上线) 你认为你自己做的项目里面哪个比较难做呢,项目里面有什么难点?常用的是V…...
shell 脚本的函数和数组
函数 —— 封装的一个公式:sin、cos、tan —— 函数为脚本的别名 —— 函数就是一个功能模块,在函数中写执行的命令即可;使用函数可以避免代码重复,增加可读性,简化脚本,使用函数可以将大的工程分割为若…...
【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模版工程,指…...
深度学习之四(循环神经网络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应用开发中,签名密钥是应用身份的唯一标识,也是应用商店验证开发者身份的重要凭证。然而,很多开发者仍然习惯在build.gradle文件中直接硬编码这些敏感信息,这种做法不仅存在安全隐…...
用Python实战PCA异常检测:手把手教你计算T²和SPE统计量(附完整代码)
用Python实战PCA异常检测:手把手教你计算T和SPE统计量(附完整代码) 在工业过程监控、金融风控或设备故障预警等场景中,异常检测始终是数据分析的核心挑战之一。传统单变量控制图难以捕捉高维数据中的复杂关系,而主成分…...
如何用Python工具完整备份QQ空间青春记忆:GetQzonehistory终极指南
如何用Python工具完整备份QQ空间青春记忆:GetQzonehistory终极指南 【免费下载链接】GetQzonehistory 获取QQ空间发布的历史说说 项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory 你是否担心QQ空间里那些珍贵的青春记忆会随着时间流逝而消…...
提升macOS视频管理效率的完整指南:QLVideo视频预览插件详解
提升macOS视频管理效率的完整指南: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的开发者经常会遇到一个令人困惑的问题:在SQL工具中运行完全正常的SQL语句,放到MyBatis的XML映射文件中却突然报错。控制台抛出的XML解析错误信息往往晦涩难懂,让人摸不着头脑。实际上…...
告别OFDM卡顿:用MATLAB手把手仿真AFDM波形,搞定高铁、无人机通信的时变信道难题
告别OFDM卡顿:用MATLAB手把手仿真AFDM波形,搞定高铁、无人机通信的时变信道难题 高铁窗外的风景飞速后退,无人机图传画面却开始卡顿——这正是传统OFDM技术在高速移动场景下的典型痛点。当多普勒频移超过一定阈值,正交频分复用的子…...
拆解 Paperxie 毕业论文写作界面:4 步流程 + 细节设计,让你的论文从 0 到 1 不走弯路
paperxie-免费查重复率aigc检测/开题报告/毕业论文/智能排版/文献综述/期刊论文https://www.paperxie.cn/ai/dissertationhttps://www.paperxie.cn/ai/dissertation 打开 Paperxie 的智能写作界面,第一眼就能感受到它对毕业论文写作流程的 “拆解式友好”。整个页面…...
别再只用pack了!Tkinter Scrollbar滚动条与Listbox/Text组件的三种布局实战(附完整代码)
别再只用pack了!Tkinter Scrollbar滚动条与Listbox/Text组件的三种布局实战(附完整代码) 在构建Tkinter GUI应用时,滚动条(Scrollbar)与内容组件(Listbox/Text)的联动布局是开发者经常遇到的痛点问题。很多教程只简单演示pack布局…...
C++在Bing搜索引擎上进行命令行搜索
1. 引言在这篇文章中,我们将介绍一个简单的C程序,允许用户通过命令行输入搜索词,在Bing搜索引擎上执行搜索,并在默认浏览器中显示搜索结果。2. 代码解析首先,我们来看一下完整的C代码:12345678910111213141…...
