樹莓派寶塔部署hexo博客
- 其余樹莓派搭建文章
- 燒錄系統
- 登錄樹莓派
- ssh連接
- 圖形化顯示
- 安裝寶塔
- 部署git和hexo
- BUG記錄
- 寶塔建站
其余樹莓派搭建文章
樹莓派寶塔搭建NAS私有云盤nextcloud
樹莓派寶塔搭建圖床Chevereto
樹莓派寶塔部署hexo博客
燒錄系統
準備好樹莓派,sd卡,和讀卡器,
進入樹莓派官網,下載軟體,

下載后打開,就可以自行選擇燒錄系統,我選擇燒錄第一個樹莓派32位系統,
登錄樹莓派
ssh連接
如果有顯示幕的話,可以忽略,只要連接網線或者wifi后記下私有IP地址即可,
如果沒有顯示幕的話,先別開機,往sd卡的boot檔案夾里面放入空白檔案,檔案命名為ssh,
繼續新建檔案,命名為wpa_supplicant.conf,然后寫入:
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
ssid="無線名稱"
psk="無線密碼"
key_mgmt=WPA-PSK
priority=1 優先級,值大優先
}
然后開機,不管是通過連接網線還是wifi連上樹莓派后,可以在路由器管理界面,或者dataplicity等軟體,查看樹莓派的私有IP地址,
然后,我們可以通過ssh pi@樹莓派IP地址來連接,默認賬戶是pi,埠號是22,密碼是respberry,
簡單而言,我們可以先通過內部地址來訪問樹莓派,
當然也可以內網穿透通過公網IP訪問樹莓派:ssh -p 外部埠號 pi@公網IP
具體步驟可以參考我的上一篇博客[電信光貓+路由器+樹莓派],
圖形化顯示
如果有顯示幕的話就忽視吧,
參考 該篇博客 ,內容非常詳細介紹了如何使用VNC,Windows 遠程桌面以及Terminal軟體來圖形化訪問桌面系統,
安裝寶塔
寶塔官網
安裝命令:
wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && sudo bash install.sh
安裝完后會有以下提示:公網地址/安全入口,內網地址/安全入口,以及賬戶密碼,

如果忘記,也可以通過bt轉14來查看,或者通過/etc/init.d/bt default來查看默認設定,

登上網站后,有兩種模塊LNMP、LAMP自行選擇安裝,我選擇安裝的第一種,
在面板設定里面,可以修改面板賬戶密碼,面板埠,安全入口等等,

部署git和hexo
我是在本地端除錯hexo博客,然后上傳到樹莓派的寶塔網站上,首先默認已經在本地除錯好了hexo,知道如何hexo g,hexo d,
服務器(樹莓派):
我們安裝git:sudo apt install git
以下步驟可做可省略
- 客戶端:
ssh-keygen cd ~/.ssh #回車 cat id_rsa.pub - 服務器:
復制id_rsa.pub的內容到服務器端的~/.ssh/authorized_keys檔案中 如果沒有這個檔案就touch一個 如果檔案中已經存在別的key,就另起一行復制進去
切換root權限:sudo su
建立存放hexo博客網址的檔案夾:mkdir /home/hexo
建立git倉庫檔案夾:mkdir /home/git
進入該檔案夾:cd /home/git
初始化Hexo的git倉庫:git init --bare hexoblog.git
Hexo倉庫新增hook:vi hexo-blog.git/hooks/post-receive,vi命令也可以改成nano,
寫入內容:
rm -rf /home/hexo
git clone /home/git/hexoblog.git /home/hexo
給post-receive權限:chmod +x /home/git/hexoblog.git/hooks/post-receive
本地端:
在本地端安裝好hexo后,選好主題啥的,可以在本地端除錯hexo c,hexo g,hexo d,
修改hexo根目錄下的_config.yml檔案,找到deploy這一行:
deploy:
- type: git
repo:
pi: ssh://root@公網IP地址:外部埠號/home/git/hexoblog.git
#或者
#pi: ssh://root@內部IP地址:/home/git/hexoblog.git
內部IP地址的埠號一般為22,可不填,
然后,如果我是以公網IP地址登錄的話,需要將連著公網IP的路由器來進行埠轉發,內部埠號22,內部IP地址,然后記錄下設定的埠轉發的外部埠號,
注意是要root@來部署hexo,如果還沒設定root權限,請看下面bug記錄,
最后本地端hexo三連:hexo c&&hexo g&&hexo d就可以部署到樹莓派上了,
如何設定內網穿透[電信光貓+路由器+樹莓派],具體步驟可以參考我上一篇文章,
BUG記錄
我一開始按pi@IP地址:埠號/path/to/blog.git來部署博客到樹莓派后出現了這個BUG:
fatal: sha1 file '<stdout>' write error: Broken pipe
error: remote unpack failed: unable to create temporary object directory
我一開始還以為是檔案太大,然后我發現是pi權限問題,因為在git目錄下不用root權限沒法寫入git檔案夾(例如git init --bare hexoblog.git),因此想解決只能設定以root登錄樹莓派,
解決方法:
- 編輯檔案:
sudo vim /etc/ssh/sshd_config - 找到并注釋掉這行:
#PermitRootLogin prohibit-password - 新建一行:
PermitRootLogin yes - 重啟ssh:
sudo service ssh restart - 設定密碼:
sudo passwd root
然后root@公網IP地址:外部埠號/path/to/blog.git或者root@內部IP地址:埠號/home/git/hexoblog.git就可以通過root身份部署hexo deploy到樹莓派了,
寶塔建站
添加站點:


域名中一定要填寫樹莓派IP地址:網站埠號,其次是寫上域名,
然后就可以通過樹莓派IP地址:網站埠號,或者通過域名來訪問hexo網站了,
如果要填域名,需要購買域名,然后將域名決議到公網IP地址,
電信非常坑,把80和443埠給屏蔽了,所以即使填寫了域名,也無法訪問!需要我們去備案公網IP地址和域名,但是電信分配的公網IP,一重啟路由就會變,感覺不值得,所以我打算只備案域名,不備案公網IP地址,然后在云決議域名搞個隱式url轉發,指向ddns域名:外部埠號,
ddns域名指向會跳變的公網IP地址,在路由器中轉發樹莓派IP地址和網站埠號到外部埠號,這樣訪問公網IP:外部埠號或者ddns域名:外部埠號就相當于訪問本地hexo的網站樹莓派IP地址:網站埠號,然后我們設定了隱式url就可以相對于通過隱式url來訪問公網IP:外部埠號,成功后再詳細寫點,
(隱式url轉發需要備案域名的原因)
然后如果是ECS服務器建站的話,只需要備案域名,將域名決議到ECS的公網IP就行,好處是公網IP基本不會變,不需要備案IP地址,也不需要設定什么ddns,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/291393.html
標籤:其他
上一篇:文字風格遷移
