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

本文涉及的产品
.cn 域名,1个 12个月
简介: 【服务器】利用树莓派搭建 web 服务器-无需公网IP

@[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 按钮


a0762a776f1f86ac23aab45f7deecd82.png


设置 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

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


ebf0d6702ff049518e8ec4671ba96247.png


安装静态样例站点


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


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.g


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

f4aa7202b7cefe970b35e019caae9b50.png


这是一个用于冥想的小工具站点,可以用它帮助自己工作之余放松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

如果正常显示,则安装成功,如图:7b81a07cafe647128959ff1be15d17a6.png


cpolar进行token认证

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

cpolar authtoken xxxxxxxxxxxxxxxxxx

生成cpolar随机域名网址

cpolar http -region=cn_vip 80


2f6b4a0e4e552156062b23abd1da789c.png

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


316f4a591e7d247bd77adde44cb92445.png

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

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

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


生成cpolar二级子域名


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


操作步骤:


升级到cpolar基础套餐


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


在前台终端测试域名


cpolar http -subdomain=dev9 -region=cn_vip 80

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


eb00c026cc28090243ccd2909ba45f6d.png


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

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


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


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

  • 编辑配置文件

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

如图:

37cef2f42569d11f41d607d499c31109.png


上图为样例配置文件,它会配置两个默认隧道:一个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: "你的二级子域名"

修改后的效果如图:

21a4acdf9702b3a3d7222f4ac4bb9a53.png


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

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

测试修改后配置文件

在前台启动所有隧道测试

cpolar start-all


5e24f5b1e05746e3dcfdc400a1dac418.png

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

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


配置cpolar服务开机自启动


配置cpolar开机自启动

sudo systemctl enable cpolar

守护进程方式,启动cpolar

sudo systemctl start cpolar

查看cpolar守护进程状态

sudo systemctl status cpolar

如图说明,启动状态成功


23d4ef90ef90274c7e421bb682dc401d.png


  • 重新启动

sudo reboot

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

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

如图说明配置成功

1d8e8dec4c399a465bf24e416cc7e801.png


目录
相关文章
|
8天前
|
JSON API 数据库
Python使用Quart作为web服务器的代码实现
Quart 是一个异步的 Web 框架,它使用 ASGI 接口(Asynchronous Server Gateway Interface)而不是传统的 WSGI(Web Server Gateway Interface)。这使得 Quart 特别适合用于构建需要处理大量并发连接的高性能 Web 应用程序。与 Flask 类似,Quart 也非常灵活,可以轻松地构建 RESTful API、WebSockets、HTTP/2 服务器推送等。
|
7天前
|
负载均衡 监控 搜索推荐
蓝易云 - 多ip站群服务器如何选择?能做什么
这些只是一些基本的考虑和能力,具体的选择和使用方式会根据你的具体需求和目标而变化。
16 3
|
12天前
|
自然语言处理 搜索推荐 SEO
蓝易云 - 三分钟带你了解香港多ip站群服务器
注意事项:尽管多IP站群服务器有许多优点,但也需要注意遵守搜索引擎的规则,避免被认为是恶意SEO。
18 4
|
3天前
|
机器学习/深度学习 运维 网络协议
函数计算产品使用问题之创建一个http服务,可以通过公网来访问,是否只能选择web函数
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
|
6天前
|
缓存 负载均衡 应用服务中间件
Nginx 是一个高性能的开源反向代理服务器和 Web 服务器
Nginx 是一个高性能的开源反向代理服务器和 Web 服务器
12 0
|
9天前
|
网络协议 网络安全 数据安全/隐私保护
如何在IDEA中使用固定公网地址SSH远程连接服务器开发环境(三)
在IDEA中通过固定公网地址SSH远程连接服务器开发环境,需要配置固定TCP端口以避免地址随机变化。首先,升级cpolar至专业版及以上,然后在官网保留一个固定TCP地址。进入cpolar管理界面,编辑隧道信息,将保留的固定地址填入,更新隧道。最后,在IDEA中新建SSH连接,输入固定地址和端口,验证连接。成功后,即可稳定远程开发。
|
9天前
|
网络协议 Java Linux
如何在IDEA中使用固定公网地址SSH远程连接服务器开发环境(二)
在IDEA中通过Cpolar实现固定公网地址SSH远程连接到Linux服务器开发环境,主要步骤包括:1) 在Linux服务器上安装Cpolar,使用一键脚本进行安装和启动服务;2) 登录Cpolar Web UI,创建隧道,指定隧道名称、协议、本地地址(SSH默认端口22)、临时随机TCP端口和中国地区;3) 使用生成的公网TCP地址在IDEA中新建SSH连接,输入该地址和端口,完成远程连接。这种方式允许开发者在任何地方通过固定的公网地址进行远程开发,而无需公网IP。
|
9天前
|
安全 网络协议 Linux
如何在IDEA中使用固定公网地址SSH远程连接服务器开发环境(一)
该文介绍了如何通过IDEA设置远程连接Linux服务器的步骤,使用Cpolar内网穿透工具实现在没有公网IP的情况下进行远程开发。主要内容包括检查Linux SSH服务、本地连接测试、在Linux上安装Cpolar、创建远程连接的公网地址、公网远程连接测试以及固定连接公网地址。文章还提供了相关截图辅助说明,适用于IDEA2023.2.5版本。
|
12天前
|
Java 应用服务中间件 程序员
JavaWeb基础第四章(SpringBootWeb工程,HTTP协议与Web服务器-Tomcat)
JavaWeb基础第四章(SpringBootWeb工程,HTTP协议与Web服务器-Tomcat)
|
12天前
|
网络协议
【已解决】找不到某服务器 IP 地址
【已解决】找不到某服务器 IP 地址
13 0