树莓派上使用Nginx通过内网穿透实现无公网IP访问内网本地站点

前言

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

1. Nginx安装

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

shell 复制代码
sudo apt update

安装更新

shell 复制代码
sudo apt upgrade

更新完成后安装Nginx 包

shell 复制代码
sudo apt install nginx

启动Nginx

shell 复制代码
sudo /ect/init.d/nginx start

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

2. 安装cpolar

使用cpolar一件安装脚本:

shell 复制代码
curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash

向系统添加服务

shell 复制代码
sudo systemctl enable cpolar

启动cpolar服务

shell 复制代码
sudo systemctl start cpolar

查看服务状态

shell 复制代码
sudo systemctl status cpolar

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

shell 复制代码
sudo systemctl restart cpolar

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

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

3.配置域名访问Nginx

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

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

点击创建

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

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

4. 固定域名访问

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

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

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

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

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

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

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

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

修改完成后,点击更新

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

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

5. 配置静态站点

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

shell 复制代码
cd /var/www/html

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

shell 复制代码
sudo wget https://www.cpolar.com/static/downloads/meditation-app-master.tar.gz

解压

shell 复制代码
sudo tar xzf meditation-app-master.tar.gz

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

相关推荐
wgh65328 分钟前
策略路由实验
网络
测试运维日常笔记31 分钟前
tcpdump(Linux服务器)配合 Wireshark(本地分析)使用手顺与常用过滤语法详解
linux·服务器·tcpdump
難釋懷1 小时前
Nginx日志
前端·网络·nginx
Loongproxy1 小时前
大规模采集为啥用隧道代理IP?会话保持如何做到无感轮换
java·服务器·网络
老赵的博客1 小时前
工控机之UDP组播
网络·网络协议·udp
Web极客码1 小时前
用 Python 搭建工具调用 Agent 的调试过程
java·服务器·前端
小疆智控2 小时前
工业跨网通讯实践EtherCAT转TCPIP网关关键技术
网络·网络协议
和煦的糖果2 小时前
项目1: TurtleBot3 自主导航的第一阶段学习
网络
雾时之林2 小时前
Linux--介绍及管理
linux·运维·服务器
fhqlongteng2 小时前
TCP服务器断开客户端的方法
服务器·网络·tcp/ip