如何在树莓派部署Nginx并实现无公网ip远程访问内网制作的web网站

文章目录
    • [1. Nginx安装](#1. Nginx安装)
    • [2. 安装cpolar](#2. 安装cpolar)
    • 3.配置域名访问Nginx
    • [4. 固定域名访问](#4. 固定域名访问)
    • [5. 配置静态站点](#5. 配置静态站点)

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

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

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

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默认寻找的资源目录

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

相关推荐
漂流瓶jz7 小时前
Webpack如何实现万物皆可import?loader的使用/配置/手写实践
前端·javascript·webpack
ZC跨境爬虫7 小时前
跟着 MDN 学CSS day_41:显式轨道、隐式网格与区域命名放置
前端·javascript·css·ui·交互
修己xj8 小时前
告别手动存图!这款叫 Fatkun 的浏览器插件,简直是素材收集神器
前端
袋鼠云数栈8 小时前
从前端到基础设施,ACOS 如何打通企业全链路可观测
运维·前端·人工智能·数据治理·数据智能
AskHarries9 小时前
系统提示词、开发者指令和用户输入的优先级
java·前端·数据库
Moment9 小时前
长上下文会最终杀死 Rag 吗?
前端·javascript·后端
专业机床数据采集9 小时前
C# 精雕数控 数据采集 Demo|实时读取精雕机床坐标、主轴、负载、加工工时全量参数
网络·网络协议·tcp/ip·mes·精雕数控数据采集
qcx239 小时前
【系统学AI】25 论文导读 ①:两篇改变 AI 的开山之作——Attention Is All You Need & ReAct
前端·人工智能·react.js·transformer
kyriewen10 小时前
大文件上传最全指南:分片、断点续传、秒传,一篇就够了
前端·javascript·面试
郑洁文11 小时前
基于Python的Web命令执行漏洞自动化检测系统
前端·python·网络安全·自动化