树莓派安装Nginx搭建web服务器结合内网穿透实现无公网IP远程访问本地站点

文章目录

    • 1. Nginx安装
    • 2. 安装cpolar
    • 3.配置域名访问Nginx
    • 4. 固定域名访问
    • 5. 配置静态站点

安装 Nginx(发音为“engine-x”)可以将您的树莓派变成一个强大的 Web 服务器,可以用于托管网站或 Web 应用程序。相比其他 Web 服务器,Nginx 的内存占用率非常低,可以在树莓派等资源受限的设备上运行。同时结合cpolar内网穿透工具即可实现无公网IP远程访问。

1. Nginx安装

在树莓派安装Nginx也是很简单,通过apt命令可以直接安装,先更新仓库

sudo apt update

安装更新

sudo apt upgrade

更新完成后安装Nginx 包

sudo apt install nginx

启动Nginx

sudo /ect/init.d/nginx start

启动后,我们可以在外部浏览器输入树莓派局域网ip:80端口即可访问Nginx

image-20230607131709841

2. 安装cpolar

使用cpolar一件安装脚本:

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

向系统添加服务

sudo systemctl enable cpolar

启动cpolar服务

sudo systemctl start cpolar

查看服务状态

sudo systemctl status cpolar

重启cpolar命令(需要的时候使用)

sudo systemctl restart cpolar

然后在外部浏览器使用树莓派局域网ip+:9200端口即可出现cpolar管理界面

image-20230607133940058

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

image-20230303184844558

3.配置域名访问Nginx

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

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

点击创建

image-20230607134925374

然后打开在线隧道列表,查看创建隧道的公网地址,默认有两种访问方式,一种是http 另一种是https,复制http地址

image-20230607134956379

打开浏览器,使用上面的http公网地址访问,即可看到nginx欢迎 界面,这样远程访问就设置好了

image-20230607135233922

4. 固定域名访问

要注意的是,以上步骤使用的是随机临时地址,该公网地址24小时内会随机变化。我们接下来为其配置固定地址,该地址不会变化,设置后将无需每天重复修改地址。

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

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

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

image-20230607140809246

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

image-20230607140853198

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

image-20230607140924625

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

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

修改完成后,点击更新

image-20230607141008024

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

image-20230607141038162

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

image-20230607141122878

5. 配置静态站点

进入nginx资源目录,这个目录是nginx默认寻找的资源目录

cd /var/www/html

为了让站点的内容更有意义,我们下载部署一个简单的静态演示站点–冥想放松站点。

sudo wget https://www.cpolar.com/static/downloads/meditation-app-master.tar.gz

解压

sudo tar xzf meditation-app-master.tar.gz

然后浏览器打开输入我们上面配置的公网地址加上资源路径:/meditation-app-master,即可看到我们配置的站点啦,同时远程访问也可以.

image-20230607151025731

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

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

相关文章

errors包返回堆栈信息的性能测试

errors包返回堆栈信息的性能测试 上一篇Golang中使用errors返回调用堆栈信息 讲了使用第三方开源库的errors github.com/go-errors/errors,错误信息带调用栈,方便定位错误的抛出位置。 通过堆栈的信息来定位是方便了,性能怎么样&#xff0c…

Pandas教程(三)—— 数据清洗与准备

1.处理缺失值 1.1 数据删除函数 作用:删除Dataframe某行或某列的数据 语法:df.drop( labels [ ] ) drop函数的几个参数: labels :接收一个列表,内含删除行 / 列的索引编号或索引名 axis &…

抖音、小红书、视频号是如何判定是否限流的?

在这个新媒体营销的时代,抖音、小红书和视频号作为中国最受欢迎的社交媒体平台,为品牌和内容创作者提供了极具潜力的展示空间。然而,无论在哪个平台,限流成为很多人的苦恼。 抖音的推荐算法基于人群画像和初始流量池,同…

k8s的二进制部署(源码包部署)

实验条件: 主机名 IP地址 组件 作用 master01 20.0.0.17 kube-apiserver、kube-controller-manager、kube-scheduler、etcd k8s部署 master02 20.0.0.27 kube-apiserver、kube-controller-manager、kube-scheduler node01 20.0.0.37 kubelet、kube-pro…

Java开发框架和中间件面试题(10)

目录 104.怎么保证缓存和数据库数据的一致性? 105.什么是缓存穿透,什么是缓存雪崩?怎么解决? 106.如何对数据库进行优化? 107.使用索引时有哪些原则? 108.存储过程如何进行优化? 109.说说…

JVM高频面试题(2023最新版)

JVM面试题 1、JVM内存区域 Jvm包含两个子系统和两个组件。 1.1子系统 Class loader(类加载器):根据给定的全限定名类名(java.lang.object)来装载class文件到Runtime data area(运行时数据区)…

医院安全(不良)事件报告系统源码 支持二次开发、支持源码交付

医疗不良事件报告系统源码旨在建立全面的、统一的医疗不良事件标准分类系统和患者安全术语,使不良事件上报管理更加标准化和科学化。通过借鉴国内外医疗不良事件报告系统的先进经验,根据医疗不良事件的事件类型、处理事件的不同部门,灵活设置…

【python 的各种模块】(8) 在python使用matplotlib和wordcloud库来画wordcloud词云图

目录 目标:用python画出,网上流行的wordcloud词云图 1 准备工作 1.1环境准备 1.1.1安装步骤 1.2 资源准备 1.2.1 文本文件内容如下 1.2.2 图片资源 2 代码测试 2.1 第一版代码和效果 2.1.1 代码和效果 2.1.2 一般plt里解决中文乱码问题 2.1…

Java中XML的解析

1.采用第三方开元工具dom4j完成 使用步骤 1.导包dom4j的jar包 2.add as lib.... 3.创建核心对象, 读取xml得到Document对象 SAXReader sr new SAXReader(); Document doc sr.read(String path); 4.根据Document获取根元素对象 Element root doc.getRootElement(); …

win11 or win10 安装Ubuntu 22.04.3 LTS 子系统

** 1. 修改电脑的相关设置 ** 1.在系统设置中的开发者人员模式,设置为开启状态 2. 在控制面板中的程序中的启用或者关闭windows功能下,开启(勾选)子系统模式,然后重启电脑 2. 在Microsoft store中下载子系统&…

深度学习 | DRNN、BRNN、LSTM、GRU

1、深度循环神经网络 1.1、基本思想 能捕捉数据中更复杂模式并更好地处理长期依赖关系。 深度分层模型比浅层模型更有效率。 Deep RNN比传统RNN表征能力更强。 那么该如何引入深层结构呢? 传统的RNN在每个时间步的迭代都可以分为三个部分: 1.2、三种深层…

算法与数据结构--特殊有序集的线性时间排序算法

一.计数排序算法 基本思想:统计每个输入元素的个数,然后根据这些计数值重构原数组。 使用范围:需要知道元素大小范围,就是最大值是多少。 【排序算法】计数排序_哔哩哔哩_bilibili 二.基数排序 使用场景:只适用于…

Laravel的知识点

1.{{ }} 是在 HTML 中内嵌 PHP 的 Blade 语法标识符,表示包含在该区块内的代码都将使用 PHP 来编译运行。 2.两种写法 3.return void 在这段注释中,"return void" 表示该函数或方法没有返回值。这意味着它执行某些操作或任务,但…

论文阅读《Rethinking Efficient Lane Detection via Curve Modeling》

目录 Abstract 1. Introduction 2. Related Work 3. BezierLaneNet 3.1. Overview 3.2. Feature Flip Fusion 3.3. End-to-end Fit of a Bezier Curve 4. Experiments 4.1. Datasets 4.2. Evalutaion Metics 4.3. Implementation Details 4.4. Comparisons 4.5. A…

使用克魔助手进行iOS数据抓包和HTTP抓包的方法详解

摘要 本文博客将介绍如何在iOS环境下使用克魔助手进行数据抓包和HTTP抓包。通过抓包,开发者可以分析移动应用程序的网络请求发送和接收过程,识别潜在的性能和安全问题,提高应用的质量和安全性。 引言 在移动应用程序的开发和测试过程中&am…

Linux磁盘与文件系统管理

目录 在linux系统中使用硬盘 磁盘的数据结构 磁盘接口类型 字母含义 MBR磁盘分区 分区类型 分区的缺点 文件系统的 文件系统有什么作用 文件系统的修复 检测并确认新磁盘 参看磁盘信息 查看磁盘信息 添加磁盘 查看添加磁盘情况:sda系统磁盘&#xff…

每周一算法:区间覆盖

问题描述 给定 N N N个闭区间 [ a i , b i ] [a_i,b_i] [ai​,bi​],以及一个线段区间 [ s , t ] [s,t] [s,t],请你选择尽量少的区间,将指定线段区间完全覆盖。 输出最少区间数,如果无法完全覆盖则输出 − 1 -1 −1。 输入格式…

【自然语言处理】第3部分:识别文本中的个人身份信息

自我介绍 做一个简单介绍,酒架年近48 ,有20多年IT工作经历,目前在一家500强做企业架构.因为工作需要,另外也因为兴趣涉猎比较广,为了自己学习建立了三个博客,分别是【全球IT瞭望】,【…

解决Hive在DataGrip 中注释乱码问题

注释属于元数据的一部分,同样存储在mysql的metastore库中,如果metastore库的字符集不支持中文,就会导致中文显示乱码。 不建议修改Hive元数据库的编码,此处我们在metastore中找存储注释的表,找到表中存储注释的字段&a…

软件测试/测试开发丨Python学习笔记之基本数据类型与操作

一、变量 1、变量的定义: a. 在python中,变量是一种存储数据的载体。计算机中的变量是实际存在的数据或者说是存储器中存储数据的一块内存空间; b.变量的值可以被读取和修改。 2、命名规则: a.变量名由字母(广义的Unic…