【内网映射】在Jetson Nano上搭建Web服务器

2022-11-23 1617阅读

温馨提示:这篇文章已超过525天没有更新,请注意相关的内容是否还可用!

先来看看成果吧,UP只是简单学了两句html,写了个简单的网页,在Jetson Nano上搭建Web服务器后将网页放在服务器根目录下就可以了。

【内网映射】在Jetson Nano上搭建Web服务器
(图片来源网络,侵删)
【内网映射】在Jetson Nano上搭建Web服务器
(图片来源网络,侵删)

(以后这个页面就作为UP的主页了)

也可扫码进入网页

(由于宿舍23:00——6:00断电,所以这个时间段网页进不去哦!)

网页二维码

一、设置静态IP

首先需要为Jetson Nano设置静态IP,可以在路由器IP与MAC页面将设备与IP绑定,以后Jetson Nano每次开机的IP就固定了

设置静态IP

二、搭建apache2服务器(搭建web服务器)

1.执行更新命令:

(1) sudo apt-get update

(2) sudo apt-get upgrade

2.安装apache2:sudo apt-get install apache2

3.测试:apache2的默认根目录是/var/www/html/,可以在局域网中的设备浏览器中输入【设备IP】,如果没问题的话会出现以下画面,apache2安装配置成功!!

这个页面显示了根目录和相关配置文件的位置等信息,赶快写个简单的网页放到默认目录中输入【设备内网IP】+【文件名】试试吧!!!

三、natapp账号注册及设置

以前一直在用花生壳,因为花生壳提供了树莓派的客户端,但花生壳没有提供支持Jetson Nano的客户端,所以这里改用natapp来进行映射

1.登录natapp官网

2.注册账号并登录

3.最好实名一下,否则可能影响使用

4.购买隧道:这里需要注意,因为我们要用Jetson Nano做web服务器,无论是免费隧道还是付费隧道,必须支持Web协议和https才能搭建Web服务器

(1)免费隧道

natapp提供的免费隧道支持web,但它的域名是随机分配的动态域名,很不方便,如果想使用免费的,可像下图一样设置,【隧道协议:Web】&&【本地端口:80】(apache2默认80端口,若从未更改过就填80)

【内网映射】在Jetson Nano上搭建Web服务器

然后点击免费购买,可在我的隧道中见到刚免费购买的隧道

(2)付费隧道

你也可以购买付费隧道,【记住一定得看清是不是支持https和适用】,这里我买的是VIP_2(因为我觉得比较划算)

【内网映射】在Jetson Nano上搭建Web服务器

5.购买二级域名:在购买的时候需要买一个二级域名,不买的话不能登录web,便宜的也就三块钱/年(超便宜)

买的时候注意,买不需要实名等条件的域名【当然如果你不嫌麻烦也可以买】

6.隧道配置:购买后在我的隧道中可进行配置【这里的authtoken是客户端登陆的凭证,复制它,后面要用】

点开相应隧道的配置,如下图进行设置,端口默认80,Jstson Nano的本地地址必须是静态的

四、natapp客户端下载、安装及开启

1、隧道设置好了,接下来需要在Jetson Nano上安装natapp了,在natapp首页点击立即下载,进入下载页面

2、因为Jetson Nano 是arm64位的,所以下载相应客户端软件,下载好后,将它传至Jetson Nano的特定位置,我将它放在了~/NVIDIA/目录下

【内网映射】在Jetson Nano上搭建Web服务器

3.测试执行:在natapp的目录下,执行./natapp token=【authtoken】,这里的authtoken是刚才我的隧道页面的authtoken码,将它复制过来回车,如果运行后出现以下页面,证明运行正常,此时你可以写一个简单的网页放到/var/www/html/下,然后在浏览器中输入:【二级域名】+【网页名称】,如我的域名是【】,网页名称是【index.html】,所以我输入

成功了!!!!

4.购买流量:现在,服务器是apache2,它在Jetson Nano上运行;买了隧道,买了域名,还需要买流量啊!!!如果你账户里没有余额,流量会扣费,扣到-0.01元时会停止服务,登录客户端会弹出错误信息

去流量包那里点击【购买流量】

此时一定要注意不要买错,要买你的隧道相应的流量包类型,我买的是VIP_2型(价格也不贵)

四、开机自启动接下来就需要开执行开机启动了,说来也奇怪apache搭建web服务器,Jetson Nano把ubuntu的/etc/rc.local给取消了,这可让我一头雾水apache搭建web服务器,最后我在网上找到了解决办法,原来是把rc.local服务化了

Jetson Nano没有rc.local的解决办法

首先创建systemd的服务脚本

sudo vim /etc/systemd/system/rc-local.service

输入以下信息:

[Unit]

Description=/etc/rc.local Compatibility

ConditionPathExists=/etc/rc.local

[Service]

Type=forking

ExecStart=/etc/rc.local start

TimeoutSec=0

StandardOutput=tty

RemainAfterExit=yes

[Install]

WantedBy=multi-user.target

编辑完成,保存并退出

执行命令:sudo systemctl enable rc-local.service

然后就按以前的格式编辑/etc/rc.local就好了。

最后记得chmod +x /etc/rc.local

cd 【natapp的目录】

然后需要创建一个开机要执行的shell文件,我给起名natappstart.sh

touch natappstart.sh

sudo chmod a+x natappstart.sh

sudo vim natappstart.sh

然后在natappstart中填入一下内容:

#!/bin/bash

cd 【natapp的绝对路径】

【内网映射】在Jetson Nano上搭建Web服务器

./natapp-authtoken=【authtoken码】

然后在rc.local中启动它就行了,输入命令:

sudo vim /etc/rc.local

在rc.local中加入:

#!/bin/bash

bash 【natappstart.sh的绝对路径】&

先保存,退出去

执行命令:bash /etc/rc.local

如果出现以下界面,就表明映射成功

F

看外网能不能访问到网页,或者看一下natapp网页上的在线状态【注意要刷新网页】

也可以用命令:ps -aux|grep natapp

来查看一下它是否在后台执行

若成功在后台运行,sudo reboot重启后看看它是否开机自启了,如果开机自起,这篇文章也就接近尾声了

写文章不易,UP写了好长时间,希望能帮到大家,感谢三连哦!!!

VPS购买请点击我

文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。

目录[+]