hexo部署到阿里雲

hexo部署到阿里雲

因爲最近工信部在查空殼備案,我有點懶,怕再次備案,正好因爲之前的服務器是放在韓國的aws上,響應有點慢,正好趁着這個機會,遷回來。本來是不想寫這個blog的,因爲我本來就寫了一篇部署到aws上的bloghexo部署到aws。但是無奈阿里雲和aws還是有很多區別的。因此還是記錄下來。

區別

登錄服務器

這個什麼新用戶免費使用一年的雲服務器就不說了。在aws上登錄服務器是不使用密碼的,而是默認使用公私鑰的。aws會給你一個私鑰文件,然後通過:

ssh -i xxx.pem [email protected]

這樣我就可以免輸入 密碼就可以登錄雲服務器了,安全性比較高,相比asw而言,阿里雲一開始還是使用密碼登錄,只有等登錄了雲服務器後,在root用戶下面創建.ssh文件,然後在.ssh文件中創建authorized_keys文件,然後把自己生成的公私鑰中的公鑰內容寫到這個文件中,並且需要修改權限成0700,我的公私鑰是在mac上生成的,在mac和Ubuntu上能夠直接使用登錄雲服務器。

ssh [email protected]

能夠這樣登錄,需要生成的公私鑰文件分別爲id_res.pubid_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已經出現了。恩,到此就結束了。

一些說明

如果你也看見到了這篇文章。

  1. 千萬不要學我直接使用root做git操作,還是創建git用戶。在git用戶中進行git操作。
  2. 我使用nginx,nginx中關於如何配置ssh可以看imququ的這盤文章:本博客 Nginx 配置之完整篇
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章