如何在树莓派上使用Nginx搭建本地站点并通过内网穿透实现远程访问

文章目录

    • [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命令可以直接安装,先更新仓库

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

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FkeD3hId-1693203353581)(https://images.cpolar.com//img/image-20230607131709841.png)]

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

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WJeSjF5q-1693203353582)(https://images.cpolar.com//img/image-20230607133940058.png)]

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

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-c1KmunDU-1693203353582)(https://images.cpolar.com//img/image-20230303184844558.png)]

3.配置域名访问Nginx

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

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

点击创建

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zfYuKRcw-1693203353583)(https://images.cpolar.com//img/image-20230607134925374.png)]

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

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-747OdVd2-1693203353583)(https://images.cpolar.com//img/image-20230607134956379.png)]

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

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-O7sx6VK5-1693203353584)(https://images.cpolar.com//img/image-20230607135233922.png)]

4. 固定域名访问

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

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

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

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

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-N4Q4KdKX-1693203353584)(https://images.cpolar.com//img/image-20230607140809246.png)]

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

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FBDDzsaB-1693203353584)(https://images.cpolar.com//img/image-20230607140853198.png)]

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

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-U9zXi1jM-1693203353585)(https://images.cpolar.com//img/image-20230607140924625.png)]

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

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

修改完成后,点击更新

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JQVmhRwa-1693203353585)(https://images.cpolar.com//img/image-20230607141008024.png)]

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

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gV0DiGvP-1693203353585)(https://images.cpolar.com//img/image-20230607141038162.png)]

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

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EIUT7Dr0-1693203353585)(https://images.cpolar.com//img/image-20230607141122878.png)]

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

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-R3R0LPqD-1693203353586)(https://images.cpolar.com//img/image-20230607151025731.png)]

相关推荐
粉032113 分钟前
Keeppalived 实现Nginx 的高可用集群
java·服务器·nginx
PengShuaiD543 分钟前
【数据库维护】如何解决Clickhouse数据库Too many parts报错
数据库·clickhouse
TechNomad1 小时前
C++访问MySQL数据库
数据库·c++·mysql
和舒貌1 小时前
Linux系统编程基础详解
linux·运维·服务器·基础
数据的世界012 小时前
Deepin(Linux)安装MySQL指南
数据库·mysql
左灯右行的爱情3 小时前
Redis-事务
数据库·redis·bootstrap
V1ncent Chen4 小时前
MySQL 插入更新语句(insert…on duplicate key update语句 )
数据库·sql·mysql
web150850966414 小时前
给SQL server数据库表字段添加注释SQL,附修改、删除注释SQL及演示
数据库·sql·oracle
qwy7152292581634 小时前
20-R 绘图 - 饼图
开发语言·数据库·r语言
北京-宏哥4 小时前
Linux系统安装MySQL5.7(其他版本类似)避坑指南
linux·运维·服务器