树莓派搭建web服务器的方法实现(无需公网IP)

 更新时间:2023年08月02日 10:48:49   作者:Yan-英杰  
本文主要介绍了树莓派搭建web服务器的方法实现(无需公网IP),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

概述

这非常适合设置您的第一个网站,不仅可以学习管理 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.gz

重新在浏览器打开,并刷新站点: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

我们打开浏览器试一下: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

到此这篇关于树莓派搭建web服务器的方法实现(无需公网IP)的文章就介绍到这了,更多相关树莓派搭建web服务器内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 部署VSCODE SERVER的详细过程

    部署VSCODE SERVER的详细过程

    这篇文章主要介绍了部署VSCODE SERVER的详细过程,本文指导利用微软官方的vscode server部署个人开发环境,并通过网页端或vscode 客户端访问该环境,需要的朋友可以参考下
    2023-04-04
  • 宝塔面板定时访问URL地址的实现步骤

    宝塔面板定时访问URL地址的实现步骤

    宝塔面板挺好用的,特别是用来定时备份网站及数据库、同步时间、释放内存等,本文主要介绍了宝塔面板定时访问URL地址的实现步骤,具有一定的参考价值,感兴趣的可以了解一下
    2023-08-08
  • http跟https有什么区别

    http跟https有什么区别

    这篇文章主要介绍了http跟https的区别,非常不错,具有参考借鉴价值,需要的朋友参考下吧
    2018-02-02
  • Rsync ERROR: auth failed on module解决方法

    Rsync ERROR: auth failed on module解决方法

    今天在两台服务器同步备份在用户权限上纠结了很多,主要关于这个问题网上的配置方法不一,源自rsync版本不一致,这里简单总结下,方便需要的朋友
    2013-09-09
  • 下载站mime属性设置(让文件可下载)

    下载站mime属性设置(让文件可下载)

    有时候一些下载网站为了支持更多的格式,一般情况下支持rar,zip等常用的压缩包文件的下载,对于iso等很多文件都是不支持下载,其实通过设置mime就可以了
    2013-07-07
  • 详解百度https认证提示"请将您的http站点301重定向到https站点"的解决办法

    详解百度https认证提示"请将您的http站点301重定向到https站点"的解决办法

    对于301重定向这一概念玩SEO的同志们都不陌生了,近些年来https协议越来越火,百度大大已经明确了对https的扶持政策,这篇文章主要介绍了详解百度https认证提示"请将您的http站点301重定向到https站点"的解决办法,感兴趣的小伙伴们可以参考一下
    2018-12-12
  • Postman支持测试Websocket接口

    Postman支持测试Websocket接口

    WebSocket允许服务端主动向客户端推送数据,在WebSocket API中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输,在测试 WebSocket 的时候,可以使用js编写简单的页面,通过浏览器进行访问调试,也可以通过Postman进行调试
    2024-06-06
  • rsync 只同步目录结构不同步文件的方法

    rsync 只同步目录结构不同步文件的方法

    这篇文章主要介绍了rsync 只同步目录结构不同步文件的方法,需要的朋友可以参考下
    2015-01-01
  • HDFS免重启挂载新磁盘

    HDFS免重启挂载新磁盘

    这篇文章主要介绍了HDFS免重启挂载新磁盘,需要的朋友可以参考下
    2022-04-04
  • Flink 侧流输出源码示例解析

    Flink 侧流输出源码示例解析

    这篇文章主要为大家介绍了Flink 侧流输出源码示例解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-09-09

最新评论