【服务器】利用树莓派搭建 web 服务器【无需公网IP】

news2024/9/22 3:45:58

5a2585dded9b416fb4ea58637b42ed39.png

  Yan-英杰的主页

悟已往之不谏 知来者之可追  

C++程序员,2024届电子信息研究生


目录

概述

使用 Raspberry Pi Imager 安装 Raspberry Pi OS

设置 Apache Web 服务器

测试 web 站点

安装静态样例站点

将web站点发布到公网

安装 Cpolar内网穿透

cpolar进行token认证

生成cpolar随机域名网址

生成cpolar二级子域名

将参数保存到cpolar配置文件中

测试修改后配置文件

配置cpolar服务开机自启动


@[TOC]

转载自cpolar极点云的文章:在树莓派上搭建Web站点

概述

这非常适合设置您的第一个网站,不仅可以学习管理 wordpress 站点,还可以学习 Linux。您将需要一个树莓派(Raspberry Pi)、几个小时和一台计算机来下载映像。 树莓派(RPI) 是学习这些东西的完美设备。

还可以查看 RaspberryPi 的官方项目站点 来源: https://projects.raspberrypi.org/en/projects/lamp-web-server-with-wordpress

使用 Raspberry Pi Imager 安装 Raspberry Pi OS

下载适用于您的操作系统的树莓派镜像工具。它支持大多数操作系统(Windows、Mac 和 Linux)。

Raspberry Pi OS – Raspberry Pi

  • 运行并安装树莓派镜像工具

  • 选择 Raspberry Pi OS -> Raspberry Pi OS (32-bit)

  • 将 SD 卡插入计算机

  • 点击 Write 按钮

20221117161859

设置 Apache Web 服务器

Apache 是一种流行的 Web 服务器应用程序,您可以将其安装在 Raspberry Pi 上以允许它为网页提供服务。

Apache 本身可以通过 HTTP 提供 HTML 文件。通过附加模块,它可以使用 PHP 等脚本语言提供动态网页。

sudo apt-get install apache2 -y
sudo service apache2 restart

测试 web 站点

默认情况下,Apache 将测试 HTML 文件放在 web 文件夹中,您可以从您的 Pi 或网络上的另一台计算机查看该页面。

在 Raspberry Pi 上打开 Apache 默认网页:

  • 通过从菜单中选择 Internet > Chromium Web 浏览器打开 Chromium。

  • 输入地址 http://localhost

您应该在浏览器窗口中看到:

20221117161917

安装静态样例站点

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

cd /var/www/html/
sudo rm *
sudo wget https://www.cpolar.com/static/downloads/meditation-app-master.tar.gz
sudo tar xzf meditation-app-master.tar.gz
sudo mv meditation-app-master/* .
sudo rm -rf meditation-app-master meditation-app-master.tar.gz

重新在浏览器打开,并刷新站点:http://localhost

20221117161925

这是一个用于冥想的小工具站点,可以用它帮助自己工作之余放松2-10分钟。

它可以选择不同冥想情景及放松时间(2-5-10分钟)。

将web站点发布到公网

目前,这个站点只能在局域网站可以被访问,公网用户是访问不到的。要想所有人访问你创建的漂亮站点,我们需要做如下工作。

安装 Cpolar内网穿透

cpolar官网:cpolar - 安全的内网穿透工具

cpolar是一款内网穿透工具,可以将您的内网站点暴露到公网上,使所有人可以访问到你的站点。

  • cpolar一键安装脚本:(国内用户)

curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash
  • 或短链接安装方式:(国外用户)

curl -sL https://git.io/cpolar | sudo bash
  • 查看cpolar版本信息

cpolar version

如果正常显示,则安装成功,如图:

20221117162007

cpolar进行token认证

如果您还没有cpolar账号,请去cpolar官网注册并登录后台获取认证token

cpolar authtoken xxxxxxxxxxxxxxxxxx

生成cpolar随机域名网址

cpolar http -region=cn_vip 80

20221117162018

上图显示,cpolar将内网站点,发布到了一个随机域名网址:https://711d7522.vip.cpolar.cn

  • 我们打开浏览器试一下:https://711d7522.vip.cpolar.cn

20221117162026

现在,我们已经发布了内网的web站点到公网,任何人都可以访问到它。

回到终端窗口,按CTRL+C键,退出cpolar

此时,公网地址不再能被访问。

生成cpolar二级子域名

虽然已经发布到公网,但域名是随机变化的,只适合临时测试使用。如果要长期使用,我们要配置二级子域名。

操作步骤:

  • 升级到cpolar基础套餐

  • 登录到cpolar后台-->预留-->保留二级子域名,例如添加dev9,地区选择VIP China地区

在前台终端测试域名

cpolar http -subdomain=dev9 -region=cn_vip 80

如果显示正常,则说明我们已经配置好了。

20221117162035

用新的域名在浏览器里访问:https://dev9.vip.cpolar.cn

正常则说明我们的固定二级子域名配置好了。

将参数保存到cpolar配置文件中

刚刚我们在前台运行cpolar程序,关掉后,域名消失,现在我们将参数保存到配置文件中。以支持开机后台自启动运行。

  • 编辑配置文件

nano /usr/local/etc/cpolar/cpolar.yml

如图:

20221117162043

上图为样例配置文件,它会配置两个默认隧道:一个ssh隧道和一个website隧道。

参数说明:

authtoken: xxxxxxxxxxxx #认证token
​
tunnels:
  ssh:              #隧道名称,表示ssh,名称可以自定义
    addr: 22        #端口号为22
    proto: tcp      #协议tcp
    region: cn_vip  #地区,cn_vip,可选:us,hk,cn,cn_vip
  website:          #隧道名称,用户可以自定义,但多隧道时,不可重复
    addr: 8080      #本地Web站点端口
    proto: http     #协议http
    region: cn_vip  #地区,cn_vip,可选:us,hk,cn,cn_vip
​
​

本例中,我们需要修改如下内容:

  • 将website隧道的默认8080端口修改为80

  • 添加一行 subdomain: "你的二级子域名"

修改后的效果如图:

20221117162220

注意: 配置文件是yaml格式的,缩进敏感,而且不能有TAB键

然后按CTRL+X,退出,提示你是否保存,回答Y,确认保存文件路径,回车

测试修改后配置文件

在前台启动所有隧道测试

cpolar start-all

20221117162213

如上图显示,则为正常,按CTRL+C退出

如果报错,会提示配置文件某行有错误,请重新修改。直到类似上图正确输出。

配置cpolar服务开机自启动

  • 配置cpolar开机自启动

sudo systemctl enable cpolar
  • 守护进程方式,启动cpolar

sudo systemctl start cpolar
  • 查看cpolar守护进程状态

sudo systemctl status cpolar

如图说明,启动状态成功

20221117162204

  • 重新启动

sudo reboot

重启后,检查cpolar隧道是否仍在线

访问后台-->状态 cpolar - secure introspectable tunnels to localhost

如图说明配置成功

20221117162155

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

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

相关文章

基于 FPGA 的彩色图像灰度化的设计实现(image_stitche_x)

文章目录 前言一、图像合并模块的设计二、仿真文件 前言 image_stitche_x 模块:将串口接收的尺寸为 400480 大小的彩色图像与灰度化处理后的 400480 大小的图像数据以左右形式合并成一张 800*480 的图像。 提示:以下是本篇文章正文内容,下面…

AI再度升级,IT业一片哀鸿遍野:程序员真的要失业了吗?

IT人员真的要失业了吗? 随着各个大厂已经相继传来裁员,降薪,减招的消息和ChatGPT等大型AI模型可以定制化写参考代码,甚至通过外接API直接帮助操作,IT人员似乎越来越不吃香了。 其实,ChatGPT有用的不是取代…

Diango学习-用户管理系统(简单部门管理、用户管理)

目录 1、创建项目和app 1.创建项目 2.创建app 2种创建方式 注册app 2、表结构的创建 Django中的模型字段有很多种,包括但不限于: 设计表结构(Django) 在models.py文件中创建表:部门表和员工表 加入性别列&…

FL Studio21.0.3.3517完整试用版

系统要求 FL STUDIO 可以运行在任何计算机上: 支持 WINDOWS: 7, 8, 10 或者更高版本 支持 MacOS: 10.11 或更高版本 不低于 4GB 的可用硬盘空间 建议最低 4GB 内存或 更高 当然CPU 越强大,也就意味着你运行的音源和效果器越多! FL Studio是一个非常受欢迎的数…

轻松实现远程访问本地wamp服务器,无公网IP也不怕,「内网穿透」

目录 前言 1.Wamp服务器搭建 1.1 Wamp下载和安装 1.2 Wamp网页测试 2. Cpolar内网穿透的安装和注册 2.1 本地网页发布 2.2 Cpolar云端设置 2.3 Cpolar本地设置 3. 公网访问测试 4. 结语 转载自cpolar极点云的文章:无公网IP?教你在外远程访问本地…

新零售发展现状剖析

“新零售”的商业生态将涵盖网络页面、实体店面、支付终端、数据系统、物流平台和营销路径等诸多方面。 企业通过使用大数据和人工智能等先进技术升级产品的生产、流通和销售流程,重塑商业结构与生态圈,深度融合线上服务、线下体验和现代物流。将物流、…

Devexpress GridControl 内部调用外面实现的FocusedRowChanged

个人需求是网格自带的条件发生改变时(网格显示的内容会发生改变),同时需要刷新另一个网格的数据源,而另一个网格的数据源是走的这个网格的行焦点改变事件去刷新,自带的条件发生改变时并不会触发行焦点的改变 当前情况…

【HTTP协议】

🎉🎉🎉点进来你就是我的人了博主主页:🙈🙈🙈戳一戳,欢迎大佬指点! 欢迎志同道合的朋友一起加油喔🤺🤺🤺 目录 1. HTTP协议概述 2. HTTP协议的工作过程 3.…

LabVIEWCompactRIO 开发指南21 使用TCP/IP时处理孤立套接字

LabVIEWCompactRIO 开发指南21 使用TCP/IP时处理孤立套接字 无法重新建立侦听TCP套接字是设计基于TCP/IP的应用程序时最常见的挑战之一。此症状是由终止客户端或服务器应用程序后发生的孤立套接字引起的。如果按照本节中所述的技术设计代码,则可以避免此问题。本节…

大数据拥抱云原生 HashData助力资管数字化转型

5月16日,2023国际资管科技创业者与投资者大会“资管数据处理(大模型)技术”专场在上海举行。本次大会以“资产管理 数智技术”为主题,邀请企业、高校、投资机构等各方开展产业交流与讨论,共享共创行业机遇。 酷克数据…

GPT-5: 超越人类语言的模型,你还不了解一下?

目录 一、GPT-5时代引领者 二、技术特性 1,音频和视频处理 — 更强大的多模态处理能力 2,GPT-5颠覆影视制作:重写媒体消费时代 3,为机器人提供智慧大脑 4,更强的垂直行业应用 三、回顾一下GPT5被紧急叫停&…

设计模式之【命令模式】,方法调用的花式玩法

文章目录 一、什么是命令模式1、命令模式使用场景2、命令模式的主要角色3、命令模式优缺点4、命令模式注意事项及细节 二、使用示例1、命令模式的一般写法2、播放器功能案例3、遥控器案例 三、源码中的命令模式1、Thread 一、什么是命令模式 命令模式(Command Patt…

图像分割标注工具——QuPath使用说明

0、QuPath资源一览 QuPath是一款病理学和生物图像定量分析的软件,支持多种标注方式。一些常用资源如下: 官网:QuPath 官方文档:https://qupath.readthedocs.io/en/stable/docs/intro/index.html 软件下载列表:http…

搜狗主动推送工具-搜狗推送接口自动推送

想要让自己的网站被搜狗快速收录,以下是一些优化建议: 提交网站地图:将网站地图提交到搜狗搜索引擎,能够让搜索引擎更快速地爬取和发现网站所有的页面。同时在网站地图中应该包含网站所有页面的链接,方便搜狗搜索引擎爬…

【读书笔记】《亲密关系》

作者:美国的罗兰米勒 刚拿到这本书的时候,就被最后将近100页的参考文献折服了,让我认为这本书极具专业性。 作者使用了14章,从人与人之间是如何相互吸引的,讲到如何相处与沟通,后又讲到如何面对冲突与解决矛…

openAI国内的免费镜像网站列表分享

1.ChatGPT For Free 地址:https://gpt4.gravityengine.cc/ 2.老北鼻AI智能助手 地址:https://739167295.ai201.live/ 3.AIChatOS 地址:https://chat.jinshutuan.com/#/chat/1684287150613 4.AIGPT 地址:http://20200.cn…

【Linux命令】mount / umount命令、查看文件的挂载情况(lsblk)

在Windows环境下,我们可以直接访问检测到的外部设备,如磁盘、U盘等;然而在Linux环境下,外部硬件设备如磁盘、SD卡等外部设备是无法直接访问的。因此就需要挂载。 参考链接:mount 详解 目录 1、什么是挂载?…

使用Vivado创建一个点亮FPGALED灯的项目

说明 1、本文针对没有使用过Vivado,也不知道如何用Vivado创建一个项目的朋友。 2、本文内容为用Vivado创建一个点亮FPGA LED灯项目的全部流程。 正文 1、创建一个新项目,点击创建新项目,并点击next。 2、选择项目名称和项目保存路径。 3、…

时间序列-相关性-ACF PACF CCF

一、自相关系数: 衡量的是同一个时间序列内的两个不同的时间段的相关性 弱平稳 If波动,波动幅度也是固定的。 相关图 不同时间间隔的相关系数算出来并且绘制在图中 例:(python) 分析: ①当时间间隔为0的时候,相关系…

【MongoDB】MongoDB分布式文件存储的数据库

一、数据库简介 1、数据库 数据库是按照数据结构来组织、存储和管理数据的仓库;我们的程序都是在内存中运行的,一旦程序运行结束或者计算机断电,程序运行中的数据都会丢失;所以我们就需要将一些程序运行的数据持久化到硬盘中&am…