无需租用云服务器:使用Linux本地搭建web服务并实现内网穿透发布公网访问的详细教程

news/2024/7/7 15:25:02/文章来源:https://blog.csdn.net/weixin_43786143/article/details/132671260

文章目录

  • 前言
  • 1. 本地搭建web站点
  • 2. 测试局域网访问
  • 3. 公开本地web网站
    • 3.1 安装cpolar内网穿透
    • 3.2 创建http隧道,指向本地80端口
    • 3.3 配置后台服务
  • 4. 配置固定二级子域名
  • 5. 测试使用固定二级子域名访问本地web站点

前言

在web项目中,部署的web站点需要被外部访问,则需要一个媒介,通过把资源放在这个媒介中,再通过所暴露的端口指向这个站点,当外部访问这个媒介所对应的端口时,媒介指向站点,完成访问,像这种类似的媒介,常用的有tomcat容器、Apache等,这边使用Apache来建搭建。

Apache2 是一种流行的 Web 服务器应用程序,也就是通常所说的运行网站的服务器,目前apache在centos已经改名,叫httpd。

1. 本地搭建web站点

安装httpd,输入命令,出现y/N,输入y

yum install httpd

20221228152325

安装完成查看版本信息,出现以下版本信息表示安装成功

httpd -v

20221228153025

启动服务

service httpd start

20221228153034

2. 测试局域网访问

打开浏览器输入http://192.168.XX.XX ,局域网访问,httpd默认是80端口,访问时候无需加端口

20221228153045

注意,如没有出现这个页面,可能是防火墙问题,输入以下命令可以关闭防火墙(centos8)

systemctl stop firewalld.service

3. 公开本地web网站

由于该站点是在本地设备上,局域网之间可以访问,但是公网环境下无法访问,接下来将web站点发布到公网。

这里使用cpolar内网穿透来实现,创建http隧道,将内网80端口映射到公网上,无需公网IP,无需设置路由器,也无需购买云服务器。

cpolar官网:https://www.cpolar.com/

3.1 安装cpolar内网穿透

  • cpolar 安装(国内使用)
curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash
  • 或 cpolar短链接安装方式:(国外使用)
curl -sL https://git.io/cpolar | sudo bash
  • 查看版本号,有正常显示版本号即为安装成功
cpolar version
  • token认证
    登录cpolar官网后台,点击左侧的验证,查看自己的认证token,之后将token贴在命令行里
cpolar authtoken xxxxxxx

在这里插入图片描述

  • 简单穿透测试
cpolar http 8080

按ctrl+c退出

  • 向系统添加服务
sudo systemctl enable cpolar
  • 启动cpolar服务
sudo systemctl start cpolar
  • 查看服务状态
sudo systemctl status cpolar

在这里插入图片描述

3.2 创建http隧道,指向本地80端口

cpolar http 80

如下图所示,有生成相应的公网地址,一个http协议,一个为https协议(免去配置ssl证书的繁琐步骤),将其复制下来

20221228153119

在浏览器输入上面暴露的http公网地址,实现在公网环境访问。出现这个界面表示站点暴露到公网成功。

20221228153132

3.3 配置后台服务

由于以上命令暴露的公网地址在窗口关闭后隧道也将同步关闭无法访问,所以我们需要将参数保存到配置文件中。方便每次开机后,后台自启动运行隧道。

  • 编辑cpolar.yml文件
vi /usr/local/etc/cpolar/cpolar.yml
  • 打开后按i编辑,在文件中添加如下配置
authtoken: xxxxxxxxxxxx #认证tokentunnels:webstation:proto: httpaddr: "80"region: cn_vip

参数介绍:

  • webstation:隧道名称,可以自定义
  • proto: 协议,如tcp或者http
  • region:线路地区:有cn cn_vip cn_top等,可自由选择,具体请参考官网文档——全球基础设施

20221228153150

输入完成后按Esc键退出编辑,然后输入:wq保存(如果您的项目部署在其他端口上,也可以指定其他端口)

  • 启动所有隧道测试,出现以下界面,然后复制webstation隧道的公网地址(指向80端口).
cpolar start-all

20221228153201

  • 打开浏览器输入复制的公网地址访问

20221228153209

4. 配置固定二级子域名

由于使用免费cpolar所生成的公网地址为随机临时地址,24小时内会重复变化。我们可以为其配置固定的二级子域名。

注意,配置固定二级子域名需要将cpolar套餐升级至基础套餐或以上。

进入cpolar官网并登录进入后台界面,点击左侧的预留,找到保留二级子域名,我们来为本地web站点保留一个二级子域名:

  • 地区:选择China VIP
  • 二级域名:可自定义
  • 描述:即备注,可自定义

20221228153216

二级子域名保留成功,将其复制下来

20221228153223

  • 编辑cpolar.yml配置文件
vi /usr/local/etc/cpolar/cpolar.yml

打开后按i编辑

在webstation下添加一行:subdomain: ”myweb1”

20221228153234

编辑完成按Esc键退出编辑,然后输入:wq回车保存。然后执行启动所有隧道,出现地址后复制公网地址

cpolar start-all

20221228153241

5. 测试使用固定二级子域名访问本地web站点

在浏览器访问刚刚所配置成功的二级子域名,出现页面配置成功。

20221228153251

转载自cpolar文章:Linux CentOS本地搭建Web站点,并实现公网访问

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_166540.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

算法专栏——双指针

1.移动零 题目链接:移动 0_牛客题霸_牛客网 (nowcoder.com) 算法原理: 像这样子的将一整块数组划分很多部分可以称为数组划分,常用的解法可以是双指针。 说是双指针,但操作的对象是数组,因此下标就是指针。 双指针的…

【LeetCode】剑指 Offer <二刷>(6)

目录 题目:剑指 Offer 12. 矩阵中的路径 - 力扣(LeetCode) 题目的接口: 解题思路: 代码: 过啦!!! 题目:剑指 Offer 13. 机器人的运动范围 - 力扣&#…

Linux的命令

Linux的命令分为四个类型:文件操作命令、系统操作命令、文本处理命令和网络操作命令。下面简单介绍一下常用的Linux命令: 文件操作命令 ls:列出目录下的所有文件和目录。 cd:切换当前目录。 mkdir:创建一个新目录。…

在公网上使用SSH远程连接安卓手机Termux:将Android手机变身为远程服务器

文章目录 前言1.安装ssh2.安装cpolar内网穿透3.远程ssh连接配置4.公网远程连接5.固定远程连接地址 前言 使用安卓机跑东西的时候,屏幕太小,有时候操作不习惯。不过我们可以开启ssh,使用电脑PC端SSH远程连接手机termux。 本次教程主要实现在…

zabbix监控平台部署

目录 前言 一、zabbix的基本概述 (一)、zabbix的工作流程 (二)、zabbix的构成 (三)、zabbix的监控对象 (四)、zabbix的常用术语 (五)、zabbix进程详解…

如何高效的解析Json?

Json介绍 Json是一种数据格式,广泛应用在需要数据交互的场景Json由键值对组成每一个键值对的key是字符串类型每一个键值对的value是值类型(boo1值数字值字符串值)Array类型object类型Json灵活性他可以不断嵌套,数组的每个元素还可以是数组或者键值对键值…

三维跨孔电磁波CT数据可视化框架搭建

三维跨孔电磁波CT数据可视化框架搭建 文章目录 三维跨孔电磁波CT数据可视化框架搭建1、三维CT可视化结果2、matlab代码2.1、CT数据格式整理并保存2.2、三维可视化 利用matlab实现对跨孔电磁波CT实测数据反演,并搭建了三维CT数据可视化框架,可装填实测CT反…

图解SQL查询之分组聚合技巧:如何使用GROUP BY对数据进行分组

在 SQL 中,分组聚合是一种按照指定的列对数据进行分组,并对每个分组应用聚合函数(如COUNT、SUM、AVG等)以获取汇总结果的操作。 以下是用到的表 例如,要求计算每个班级的总年龄。

什么是接口测试,如何做接口测试?

比起点点点的功能测试,“接口测试”显得专业又高大上,也因此让有些初级测试人员“望而生畏”。别担心,其实接口测试也是功能测试的一种,它是针对接口进行的功能测试。 写在前面:本文参考了茹炳晟老师的《测试工程师 全…

2023-9-4 欧拉函数

题目链接&#xff1a;欧拉函数 #include <iostream>using namespace std;int main() {int n;cin >> n;while(n --){int x;cin >> x;int res x;for(int i 2; i < x / i; i){if(x % i 0){res res / i * (i - 1); // 公式 N * (1 - 1 / p1) * (1 - 1/ p2…

wireshark抓包分析

题目一&#xff1a;Cephalopod(图片提取) 打开下载好的数据包&#xff1a;CtrlF 按照如图选择分组字节流&#xff0c;选择字符串&#xff0c;输入‘flag’筛选出数据包&#xff1b; 点击筛选出来的一条数据包&#xff0c;右键选择追踪tcp流&#xff1b; 然后可以看到png的字样…

基于QEMU的vexpress-a9开发调试环境搭建

准备工作 如果是window环境&#xff0c;则建议安装virtual box或vmware以便安装linux ubuntu。在ubuntu上安装必要工具&#xff1a; sudo adb install qemu-system-arm gdb-multiarch libnl-3-dev libncurses5-dev binutils-arm-linux-gnueabi gcc-arm-linux-gnueabi 编译ker…

云原生Kubernetes:Kubeadm部署K8S单Master架构

目录 一、理论 1.kubeadm 2.Kubeadm部署K8S单Master架构 3.环境部署 4.所有节点安装docker 5.所有节点安装kubeadm&#xff0c;kubelet和kubectl 6.部署K8S集群 7.安装dashboard 8.安装Harbor私有仓库 9.内核参数优化方案 二、实验 1.Kubeadm部署K8S单Master架构 …

基于sonar 的C#静态代码扫描使用总结

1.原理简介 C#语言接入Sonar代码静态扫描相较于Java、Python来说&#xff0c;相对麻烦一些。Sonar检测C#代码时需要预先编译&#xff0c;而且C#代码必须用MSbuid进行编译&#xff0c;如果需要使用SonarQube对C#进行代码质量分析&#xff0c;则需要Sonar-Scanner-MSBuild和MSBu…

入坑ThreadLocal,这一篇文章就够了

一、前言 很多 Java 开发一般都是做中台较多&#xff0c;并发编程使用的不多。因此&#xff0c;对 ThreadLocal 不太熟悉&#xff0c;所以笔者这里想让大家了解它&#xff0c;知道它是用来干什么的。 二、ThreadLocal 是用来干什么的 ThreadLocal 是 Java 中一种线程封闭技术…

睿趣科技:抖音小店多久可以做起来

随着社交媒体的迅猛发展&#xff0c;抖音成为了全球最受欢迎的短视频平台之一&#xff0c;吸引了数以亿计的用户。在抖音上&#xff0c;人们不仅可以分享自己的生活、才艺和创意&#xff0c;还可以创业经营抖音小店。但是&#xff0c;很多人都想知道&#xff0c;一个抖音小店到…

MySQL如何高效实现刷脏页,了解原理并学会配置

目录 一、什么是刷脏页 二、MySQL刷脏页的策略 三、MySQL刷脏页的实现原理 四、MySQL如何实现刷脏页 一、什么是刷脏页 在MySQL中&#xff0c;刷脏页是指将内存中已被修改的数据页&#xff08;也称为脏页&#xff09;写回到磁盘的过程。 当MySQL执行数据更新操作时&#…

【人工智能】—_一阶逻辑、量词的推理规则、一般化分离规则、合一、前向_反向链接算法、归结算法

文章目录 量词的推理规则全称量词实例化存在量词实例化 简化到命题逻辑推理Generalized Modus Ponens&#xff08;一般化分离规则&#xff09;举例 合一Forward chaining 前向链接算法示例 Backward chaining algorithm 反向链接算法一般FOL的FC/BC的完整性 归结算法归结推理规…

Marin说PCB之TDK和Murata电容哪家强?

不是各位朋友是否听说华为新款手机MATE60Pro已经开始发布销售了&#xff0c;小编我听到这个消息后很是震惊啊&#xff0c;这两年老美一直打压我们中国芯片行业的发展&#xff0c;而且拿华为开刀&#xff0c;搞了一些很恶心的手段来限制和打压华为的发展。所以当我听到新款的MAT…

git:一些撤销操作

参考自 如何撤销 Git 操作&#xff1f;[1] 一、撤销提交 git revert HEAD 撤销上次提交. (会在当前提交后面&#xff0c;新增一次提交&#xff0c;抵消掉上一次提交导致的所有变化,所有记录都会保留) 二、撤销某次merge git merge --abort 三、替换上一次提交 git commit --ame…