一、客戶端配置frp
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服務
二、開機自動開啓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配置完成。
三、安裝能夠本地+遠程訪問的jupyter
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