1.下载frp:https://github.com/fatedier/frp/releases
下载树莓派对应的frp版本,解压后将目录中的文件全部转移到frp的目录下
wget https://github.com/fatedier/frp/releases/download/v0.32.1/frp_0.32.1_linux_arm.tar.gz
tar -xf frp_0.32.1_linux_arm.tar.gz
mkdir frp
mv frp_0.32.1_linux_arm/* frp
2.配置客户端:
nano frpc.ini
[common]
server_addr = ***.***.***.*** #frp服务端的IP地址
server_port = 7000 #frp服务端的服务端口
token = **** #frp服务端的密码,没有密码时可不需要这一项
#ssh服务
[ssh] #这里可以修改ssh的name,比如pi_ssh
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = ***** #修改合适的端口号
配置完成后,运行 ./frpc -c ./frpc.ini 可手动开启frp服务
1.编辑frpc.service文件:
sudo nano /lib/systemd/system/frpc.service
[Unit]
Description=frpc service
After=network.target network-online.target syslog.target
Wants=network.target network-online.target
[Service]
Type=simple
ExecStart=/绝对路径path/frp/frpc -c /绝对路径/frp/frpc.ini
[Install]
WantedBy=multi-user.target
2.重载并且设置开机启动:
sudo systemctl daemon-reload #重载
sudo systemctl start frpc
sudo systemctl enable frpc #开机启动
其他相关frpc命令
//启动命令
sudo systemctl start frpc
//停止命令
sudo systemctl stop frpc
//重启命令
sudo systemctl restart frpc
//查看状态
sudo systemctl status frpc
至此,树莓派客户端frp配置完成。
1.下载jupyter:
sudo apt-get install jupyter
2.生成配置文件:
jupyter notebook --generate-config
3.修改配置文件:
sudo nano ~/.jupyter/jupyter_notebook_config.py
#利用搜索功能定位到这四个配置,然后依照下面代码分别修改,注意要删除这四行前面的#注释
#将'localhost'修改成'0.0.0.0'表示任意 ip 可访问
#此处需要注意下载的notebook版本,如果为5.6.0以下c.NotebookApp.ip = '*',以上为'0.0.0.0'
c.NotebookApp.ip = '0.0.0.0'
c.NotebookApp.open_browser = False
c.NotebookApp.port = 8888 #可自定义
c.NotebookApp.notebook_dir = '/home/yourname' #访问根目录
c.NotebookApp.allow_remote_access = True
4.设置密码:
jupyter notebook password
5.启动jupyter notebook:
jupyter notebook
此时可以在本地浏览器输入 树莓派ip:8888 (第3步配置的端口),出现登录界面,输入刚才设置的密码即可处理文件。
接下来是实现远程服务器访问树莓派jupyter,即利用frp将8888端口映射到公网ip上
6.进入.../frp目录下,配置frpc.ini:
#添加如下配置
[pi_jupyter]
type = tcp
local_ip = 127.0.0.1
local_port = 8888
remote_port = 60007 #设置合适的端口号即可
7.手动开启frp服务:但此时jupyter notebook服务还未开启
./frpc -c ./froc.ini
8.设置后台运行jupyter notebook服务:目前还没找到开机自启动jupyter notebook的方法,因此每次开机都需要后台挂起操作或者将该操作写成脚本文件.sh,每次开机后运行./jupyter.sh即可。(此时如果设置的jupyter frp未开启,重启树莓派即可)
nohup jupyter notebook >/dev/null 2>&1 & #后台启动jupyter notebook
可以用kill命令杀死后台进程
kill -9 pid
脚本程序:
nano jupyter.sh
#!/bin/bash
nohup jupyter notebook >/dev/null 2>&1 &
chmod 777 my_script.sh #添加权限
此时,在本地服务器上输入 公网ip:端口 即可远程访问树莓派。
此处留个坑,暂时未实现开机自启动jupyter服务的操作,参考https://www.jianshu.com/p/86adb6d5347b 方法4。
[Unit]
Description=jupyter
After=network.target network-online.target syslog.target
Wants=network.target network-online.target
[Service]
Type=simple
User=cyj
ExecStart=/home/cyj/jupyter.sh
[Install]
WantedBy=multi-user.target