前言
之前想給自己折騰出一個個人部落格網站的時候,除了域名,還在阿里雲買了一個一年的輕量級應用伺服器。由於當時想讓這個部落格長期存在,並且也瞭解到了Hexo+GitHub的方案,所以我手頭的兩個域名(226yzy.top和226yzy.com),前者解析到了伺服器上,後者我留給了GitHub,用於自定義域名(226yzy.com這個域名本來備案了,這樣一搞,由於沒解析到阿里雲的伺服器,阿里雲的備案接入也就停止了,這個域名備案無了???)。
不過伺服器那邊我就放了一個簡單的網頁或者一些資料,基本上還是屬於閒置的狀態。最近又苦於網站訪問速度過於龜速,於是想著不妨嘗試學習一下將Hexo部落格部署到伺服器。(這樣如果我之後真的忍不下去這龜速訪問速度,那就將226yzy.com這個域名重新備案解析到伺服器上?)
然後,我在網上尋找解決方案的時候,找到了黑石大佬寫的部落格Hexo 部署至雲伺服器(寶塔皮膚) - 黑石部落格 - Hexo部落格 (heson10.com),正好我的伺服器上也很早就裝了寶塔皮膚。不過,黑石大佬的這篇部落格2020年12月18日的可能有點過時,文中所給的路徑有些不合適(寶塔現在好像不允許網站的根目錄設定在/var檔案下” )
【轉載說明】本文優先釋出於我的個人部落格www.226yzy.com ,轉載請註明出處並註明作者:星空下的YZY。
本部落格所有文章除特別宣告外,均採用 CC BY-NC-SA 4.0許可協議。
更好的閱讀體驗歡迎訪問原文原文
前置
首先你肯定要有伺服器啦,然後Hexo也應該在本地弄好。
寫這篇的時候發現黑石大佬也參考了這篇部落格將Hexo部署到阿里雲輕量伺服器(保姆級教程) | HJX's Site (hjxlog.com),裡面部署Hexo的流程都挺詳細的
伺服器的話寶塔皮膚
是個好東西,方便明瞭。
由於太早之前就在伺服器上裝好寶塔皮膚了,一下也忘了具體流程。可以參考網上其它教程部落格,應該還是挺多的。以及寶塔官網https://www.bt.cn/
啊,對了還有本地Git也要裝一下,Git官網https://git-scm.com/
配置SSH金鑰
我們需要本地的SSH金鑰,操作命令如下(注意資訊替換成你自己的)
git config --global user.name "你要設定的名字"
git config --global user.email "你要設定的郵箱"
ssh-keygen -t rsa -C "你剛剛設定的郵箱"
如果你在GitHubs上,或者Coding、Gitee等上面成功部署過,那麼應該已經有弄過這個了
生成的檔案位置在C:\Users\(你的使用者名稱)\.ssh
在這個目錄下有一個id_rsa.pub
這就是我們後面要用的SSH公鑰
上面的
id_rsa
為私鑰,注意千萬不要外洩
伺服器終端操作
現在開始在伺服器上操作了,由於我安裝了寶塔皮膚,所以就根據所以後面會基於寶塔皮膚記錄
開啟終端與切換root使用者
在登入寶塔皮膚後,開啟終端
然後切換root使用者
sudo su root
切成功切換root使用者後,會類似如下
下文中切換git
使用者後,root會變成git
不過我的寶塔貌似一開啟終端就是root使用者?
安裝Git並建立git 賬戶
- 首先我們要在伺服器上安裝Git
yum install git
- 然後是建立 git 賬戶並賦予許可權
adduser git
- 賦予git賬戶許可權
chmod 740 /etc/sudoers
- 編輯
/etc/sudoers
檔案
vim /etc/sudoers
- 按
i
鍵進入編輯模式,找到root ALL=(ALL) ALL
,在其下方加入:
git ALL=(ALL) ALL
也就是新增在我藍色標註的位置加上
輸入完成後按esc
,再輸入:wq
,儲存退出。
- 更變
/etc/sudoers
檔案許可權
chmod 400 /etc/sudoers
- 設定 git 賬戶密碼
sudo passwd git
輸入密碼,輸入的時候是看不到任何顯示的,輸完回車即可。
linux下輸入密碼是不顯示*的
密碼設定成功後如下,藍色劃線提示
- 切換至
git 使用者
,建立~/.ssh
資料夾和~/.ssh/authorized_keys
檔案
su git
mkdir ~/.ssh
vim ~/.ssh/authorized_keys
同樣i
進入編輯模式,把之前本地win10中生成的id_rsa.pub
檔案中的公鑰複製進去,按esc
後,輸入:wq
儲存。
接著,更改許可權:
chmod 600 /home/git/.ssh/authorized_keys
chmod 700 /home/git/.ssh
-
本地測試:
在電腦本地桌面,右鍵”Git Bash Here”,輸入以下命令,執行輸入yes後無報錯說明配置成功了。
ssh -v git@伺服器ip地址或域名
伺服器建立Git倉庫
- 切換到root賬戶
sudo su root
- 建立倉庫目錄
在var目錄下建立repo作為Git倉庫目錄並新增許可權,輸入:
mkdir /var/repo
chown -R git:git /var/repo
chmod -R 755 /var/repo
- 建立網根目錄
注意這裡就跟黑石大佬給的路徑不一樣了,黑石大佬給的路徑現在寶塔皮膚好像不允許了?
例如我是
/www/wwwroot/blog.226yzy.top
,如果是看黑石大佬的部落格過來的,可以嘗試將黑石大佬給的路徑/var/hexo
都改成/www/wwwroot/hexo
,當然這個hexo
你也可以改成別的。下文我就以
/www/wwwroot/hexo
的路徑來記錄操作
建立 hexo 目錄作為網站根目錄
mkdir /www/wwwroot/hexo
chown -R git:git /www/wwwroot/hexo
chmod -R 755 /www/wwwroot/hexo
- 建立一個空白的 git 倉庫
cd /var/repo
git init --bare hexo.git
- 編輯一個 Git 鉤子
vim /var/repo/hexo.git/hooks/post-receive
按i
進入編輯模式,新增下面的程式碼,按esc
輸入:wq
儲存
#!/bin/bash
git --work-tree=/www/wwwroot/hexo --git-dir=/var/repo/hexo.git checkout -f
- 更改許可權
chown -R git:git /var/repo/hexo.git/hooks/post-receive
chmod +x /var/repo/hexo.git/hooks/post-receive
寶塔網站配置
接下來就是配置網站域名了
先點網站,然後點選新增站點
域名添你自己要添的(當然是你自己有的域名)
新增的域名記得後續在DNS配置一下解析
根目錄就填/www/wwwroot/hexo
(或者你自己改的目錄)
其他FTP、資料庫、PHP版本啥的,視你自己的需求而定,可以不用,預設即可
示例如圖:
弄好後,那個SSL證照也可以弄一下,寶塔好像有免費的?,能https
總比http更好更安全
Hexo三連
最後就是Hexo的一鍵三連了?
在本地部落格檔案根目錄下
hexo clean && hexo g && hexo d
可惜,這個每次上傳好像要輸入一次你前面設的密碼,我也還在尋找方法如何本地免密上傳
2021.12.29記
每次上傳需要輸入密碼的問題已解決,詳情見下文
上傳成功後,如果可以正常訪問你設的域名就大功告成啦✌✌✌
解決每次上傳需要輸入密碼的問題
2021.12.29,我開啟阿里雲伺服器的工作臺,點選遠端連結後,我看到了金鑰管理,我突然意識到了問題出哪
重新配置金鑰
如果你以前在阿里雲伺服器工作臺上上傳過與現在不一樣的金鑰(我本地確實換過一次金鑰),那請更新一下這個金鑰,上文中的操作貌似對這個不起作用
配置金鑰後上傳失敗
類似於下圖
還好,我以前上傳Coding上的時候也出現過這樣的問題
解決方法可見我的另一篇對於Git出現git@e.coding.net:(publickey).問題的解決 | 星空下的YZY (226yzy.com)
注意把我那文章中提到的
*.coding.net
替換成你自己伺服器的IP地址吼?
參考文獻
https://hjxlog.com/posts/20191130a1.html#1-前言
https://www.heson10.com/posts/51315.html
最後
暫時就上面這些吧
歡迎訪問我的小破站 https://www.226yzy.com/ 或者GitHub版映象 https://226yzy.github.io/ 或Gitee版映象 https://yzy226.gitee.io/
我的Github:https://github.com/226YZY
【轉載說明】本文優先釋出於我的個人部落格www.226yzy.com ,轉載請註明出處並註明作者:星空下的YZY。
本部落格所有文章除特別宣告外,均採用 CC BY-NC-SA 4.0許可協議。