前面的教程有写过将斐讯n1刷成armbian并安装lnmp一键包和jupyter的教程,详细教程参考
Armbian安装lnmp一键包
ubuntu服务器上安装jupyter notebook
所以我们可以将N1打造成一个web服务器和一个python开发平台。
但是通常我们国内的网络是没有固定的ipv4的,甚至很多地方连公网ip都没有,所以看起来这些功能我们都只能在本地使用。
其实是有解决办法的,那就是内网穿透。
常用的内网穿透方法有很多,比如我们常见的花生壳呀,ngrok呀等等。
这里我们推荐使用frp这个工具,它具有稳定和配置简单等许多优点。
网上有现成的编译好的frp可以下载使用,不用我们自己编译,不过记得n1要选择arm版的客户端
网上有免费提供的frp服务,大家可以自己去搜索,因为我有公网服务器,所以我将服务端部署在自己的公网服务器上。
服务端配置
通常使用配置文件启动会比较方便一点儿
所以我们下载好frp到服务器上,解压后,在frps这个文件所在的目录(frps就是服务端软件)
创建一个frps.ini文件(可能有的下载frp工具包里已经提供了这个文件)
touch frps.ini
然后我们编辑这个配置文件
vim frps.ini
参考输入以下内容:
[common]
bind_port = 8083
##端口号自己随便填,这个就是你将来访问时要用到的端口,记得服务器上
要在防火墙上开启这个端口
token = abc123
##token也是随便填的,防止别人随意连接你的服务端,但是记得一会儿客户端的token要跟这个保持一致
保存退出(简单说下,可能有些人不会用vi编辑器,进入vi时,按i键进入输入模式,输入完内容后,按esc键进入命令模式,然后输入 :wq 保存并退出)
然后我们就可以启动服务端了
nohup ./frps -c frps.ini &
使用nohup是为了让它后台运行,这样我们关闭终端以后,frp服务端仍在运行
客户端配置
下面我们开始配置客户端
使用终端工具连接上N1,下载arm版的frp工具,解压,选择frpc文件,同时我们编辑frpc.ini
文件,
vim frpc.ini
配置如下:
[common]
server_addr = 你的服务端ip地址
##此处填写你的服务端ip地址
server_port = 8083
##注意这里的端口与刚才服务端设置的一致
token = abc123
##token与服务端保持一致
##后面这些配置是配置文件里默认的,你可以直接删掉,或者修改对应参数即可。
[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 8088
[RemoteDesktop]
type = tcp
local_port = 3389
remote_port = 8085
保存退出
启动客户端
nohup ./frpc -c frpc.ini &
至此内网穿透就搞定了,通过访问服务端的ip(或者域名)加端口的形式就可以访问到我们内网中的N1了。
如果我们想要穿透多个端口,只需要在客户端的配置文件中新增对应的配置项,同时记得在服务端开放对应端口
比如jupyter的端口是8888
我们在客户端的配置文件中加入
[jupyter]
local_port = 8888
remote_port = 8888
##这里remote端口就是服务端上的端口,你也可以改成其它的端口号,并不一定得跟客户端对应,就是表示你用服务端的这个端口号来访问N1上的8888端口,但是要记得在服务端的防火墙上开启这个端口