mac上安裝樹莓派系統(tǒng)
- 下載最新的樹莓派 (點此下載)
- 解壓zip文件得到 *.img 文件
- 把內(nèi)存卡連接到電腦上,確認內(nèi)存卡的標識:
df -h - 第3步得到了內(nèi)存卡的標識,它可能類似于:/dev/disk2s1,卸載它:
diskutil unmount /dev/disk2s1 - 使用dd命令把 *.img 文件刻錄到內(nèi)存卡上:
dd bs=40m if=xxx.img of=/dev/disk2s1,這一步會經(jīng)歷一段非常長且看起來無響應的時間,我的鏡像大概4G+,跑了有20分鐘如果想要看看dd的進度,可以使用
sudo killall -29 dd - 鏡像寫入完畢不要急著拔掉內(nèi)存卡,terminal進入內(nèi)存卡(如果不知道怎么進入,可以用訪達打開內(nèi)存卡的boot目錄,然后拖個文件到terminal就行了)
touch ssh創(chuàng)建個空文件 -
diskutil unmountDisk /dev/disk1卸載內(nèi)存卡,系統(tǒng)安裝完成
安裝frp進行透穿
服務器設(shè)置
- 下載最新版frp程序到電腦上,注意需要下載服務器對應的版本,我的vps下載的是amd64的版本。這里不直接用vps下是因為curl wget我都失敗了。。。
-
scp -p $服務器ssh端口 $frp.tar $服務器用戶名@$服務器地址:文件上傳后的目錄將tar上傳至vps - 到vps中tar zxvf $frp.tar 解壓frp程序
- 設(shè)置frps.ini,我大概設(shè)置成這樣:
[common]
bind_addr = 服務器地址
bind_port = 7000
dashboard_port = 7500
dashboard_user = dashboard用戶名
dashboard_pwd = dashboard密碼
vhost_http_port = 8080
-
nohup ./frps -c ./frps.ini跑起程序
設(shè)置客戶端
- 下載最新版frp程序到電腦上,不直接下到樹莓派上的理由同服務端
- 使用sftp把frp程序上傳到樹莓派
- 解壓frp并設(shè)置frpc.ini,我大概 設(shè)置成:
[common]
server_addr = 服務器ip
server_port = 7000
[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000
[web]
type = http
local_port = 8000 // 這個端口是之后本地的web服務使用的端口
custom_domains = 個人域名
-
nohup ./frpc -c ./frpc.ini跑起程序
驗證是否成功布署
驗證 ssh 是否可以連接:
ssh -oPort=7000 pi@個人域名,正常的話將以ssh的方式進入樹莓派
這里的端口7000就是 frps.ini 里設(shè)置的 bind_port
驗證 http 是否可以訪問:
- 隨便找個目錄,執(zhí)行
python -m SimpleHTTPServer 8000來創(chuàng)建一個簡單的服務器
這里的端口 8000 對應的是 frpc.ini 里 web 塊下的 local_port
- 瀏覽器訪問域名或服務器,記得帶上端口,比如我的:eraise.xyz:8080,如果正常將會打開一個簡單的網(wǎng)頁并顯示你樹莓派下某個文件夾的列表
這里的端口 8080 是 frps.ini 里設(shè)置的vhost_http_port
你可能會碰上的問題
- 通過frp進行ssh連接的時候,提示ssh_exchange_identification: read: Connection reset by peer
這可能是你的服務器時間跟樹莓派時間相差太多導致的,我將兩者都設(shè)置為香港時間問題解決 - 通過frp進行ssh連接的時候,提示ssh: connect to host 192.243.113.148 port 7000: Connection refused
這可能是你的樹莓派的frpc沒有啟動導致的,試著啟動一下frpc吧 - pip3 執(zhí)行的時候,提示:cannot import name 'main' error after upgrading pip
這可能是先前使用pip安裝包,安裝失敗導致的,我現(xiàn)在的解決方案是:sudo python3 -m pip uninstall pip - 安裝mysql,但卻找不著默認密碼,mysql -u root -p 進不去
試一下root權(quán)限執(zhí)行 mysql 吧 - ERROR: The Python ssl extension was not compiled. Missing the OpenSSL lib?
可能是缺少ssl庫,試一下sudo apt install libssl-dev