因為最近工信部在查空殼備案,我有點懶,怕再次備案,正好因為之前的伺服器是放在南韓的aws上,響應有點慢,正好趁著這個機會,遷回來。本來是不想寫這個blog的,因為我本來就寫了一篇部署到aws上的bloghexo部署到aws。但是無奈阿里雲和aws還是有很多區別的。因此還是記錄下來。這個什麼新使用者免費使用一年的雲伺服器就不說了。在aws上登入伺服器是不使用密碼的,而是預設使用公私鑰的。aws會給你乙個私鑰檔案,然後通過:
ssh -i ***.pem [email protected]
這樣我就可以免輸入 密碼就可以登入雲伺服器了,安全性比較高,相比asw而言,阿里雲一開始還是使用密碼登入,只有等登入了雲伺服器後,在root使用者下面建立.ssh
檔案,然後在.ssh
檔案中建立authorized_keys
檔案,然後把自己生成的公私鑰中的公鑰內容寫到這個檔案中,並且需要修改許可權成0700
,我的公私鑰是在mac上生成的,在mac和ubuntu上能夠直接使用登入雲伺服器。
ssh [email protected]
能夠這樣登入,需要生成的公私鑰檔案分別為id_res.pub
和id_res
,並且這兩個檔案要存在於本地電腦使用者的.ssh
檔案。在window上就比較奇怪。我直接使用這兩個公私鑰不能直接登入我的阿里雲伺服器。依然要我輸入密碼。通過googl發現對於公私鑰我需要賦予不同的許可權 ,公鑰的許可權是0644
,私鑰的許可權是0600
,這樣我就能在window上使用ssh
命令登入了。
在阿里雲上直接是root使用者,而在aws上是ec2-user使用者。這都是小問題。我重新跟著之前的那篇blog搭建雲上環境,建立git使用者,初始化git倉庫,編寫post-receive
hook檔案 ,但是在使用sudo chmod 775 -r /var/www/hexo
的時候,出現git is not in the sudoers file
,通過切換到root使用者後修改/etc/sudoers
,在修改之前需要賦予/etc/sudoers
檔案0600
的許可權,然root使用者可以對其修改。然後在:
root all=(all) all
後面新增
git all=(all) all
這樣就沒有問題了。但是當我在本地執行hexo -d
命令後,上傳失敗,顯示許可權問題。頓時就懵逼了。因為當時已經凌晨了。想趕緊遷移完就去睡覺了,然後就想我直接在root使用者下做操作就應該沒有什麼許可權問題之類的吧。然後,就使用root使用者重新操作了一遍。(這時我使用的私鑰是沒有密碼的,因為不知道在hexo的配置中如何配置,沒有密碼也沒有什麼問題,反正沒人會用我的雲伺服器)。直接使用hexo d
,chrome開啟自己的**,恩,可以看見內容了。就去休息了。但是就在後一天,因為要上傳乙個新的blog,在本地看輸出發現這個blog的內容已經生成了。但是無論網頁如何重新整理,就是沒有這個內容顯示。又是乙個懵逼。什麼鬼。一直懷疑是否是git上傳出了了問題,然後通過google搜到這篇文章阿里雲vps搭建自己的的hexo部落格,按照他寫的post-receive
重新修改了之前的內容。再次hexo d
,重新整理自己的網頁,發現新的blog已經出現了。恩,到此就結束了。
如果你也看見到了這篇文章。
千萬不要學我直接使用root做git操作,還是建立git使用者。在git使用者中進行git操作。
我使用nginx,nginx中關於如何配置ssh可以看imququ的這盤文章:本部落格 nginx 配置之完整篇
記錄Hexo部署到阿里雲伺服器踩坑
可能的原因 blog.git hooks post receive中的路徑存在錯誤 伺服器端放置hexo靜態檔案的目錄許可權問題 此時 home www website目錄下沒有部落格檔案 解決方案 su git cd home www website ls blog.git cd blog.git...
Hexo一鍵部署到阿里雲OSS並設定瀏覽器快取
現在用hexo來搭建靜態站點的人越來越多了,很多人會選擇試用github pages服務來部署自己的靜態站,但github pages國內訪問速度實在無法接受,本文介紹一下如何一鍵使用阿里雲oss物件儲存服務部署hexo站點,同時解決乙個瀏覽器快取的坑。首先要做的事情就是去阿里雲 建立乙個bucke...
hexo部落格到阿里雲伺服器
前言 我們在本地開發好了hexo部落格後,當需要在網際網路上訪問的時候,我們就需要把它發布到外網上去,本文以阿里雲伺服器為例來講解hexo部落格時如何自動部署到阿里雲伺服器。準備環境 操作流程 node.js安裝 略 hexo部落格初始化 全域性安裝hexo npminstall g hexo 初始...