树莓派上使用Nginx通过内网穿透实现无公网IP访问内网本地站点
作者:mmseoamin日期:2023-12-11

最近,我发现了一个超级强大的人工智能学习网站。它以通俗易懂的方式呈现复杂的概念,而且内容风趣幽默。我觉得它对大家可能会有所帮助,所以我在此分享。点击这里跳转到网站。

前言

安装 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

树莓派上使用Nginx通过内网穿透实现无公网IP访问内网本地站点,在这里插入图片描述,第1张

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管理界面

树莓派上使用Nginx通过内网穿透实现无公网IP访问内网本地站点,在这里插入图片描述,第2张

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

树莓派上使用Nginx通过内网穿透实现无公网IP访问内网本地站点,在这里插入图片描述,第3张

3.配置域名访问Nginx

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

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

    点击创建

    树莓派上使用Nginx通过内网穿透实现无公网IP访问内网本地站点,在这里插入图片描述,第4张

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

    树莓派上使用Nginx通过内网穿透实现无公网IP访问内网本地站点,在这里插入图片描述,第5张

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

    树莓派上使用Nginx通过内网穿透实现无公网IP访问内网本地站点,在这里插入图片描述,第6张

    4. 固定域名访问

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

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

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

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

      树莓派上使用Nginx通过内网穿透实现无公网IP访问内网本地站点,在这里插入图片描述,第7张

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

      树莓派上使用Nginx通过内网穿透实现无公网IP访问内网本地站点,在这里插入图片描述,第8张

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

      树莓派上使用Nginx通过内网穿透实现无公网IP访问内网本地站点,在这里插入图片描述,第9张

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

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

        修改完成后,点击更新

        树莓派上使用Nginx通过内网穿透实现无公网IP访问内网本地站点,在这里插入图片描述,第10张

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

        树莓派上使用Nginx通过内网穿透实现无公网IP访问内网本地站点,在这里插入图片描述,第11张

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

        树莓派上使用Nginx通过内网穿透实现无公网IP访问内网本地站点,在这里插入图片描述,第12张

        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,即可看到我们配置的站点啦,同时远程访问也可以.

        树莓派上使用Nginx通过内网穿透实现无公网IP访问内网本地站点,在这里插入图片描述,第13张