用hexo在github上搭建了一個(gè)個(gè)人博客,本想寫幾篇文章被百度收錄一下迂求,過(guò)來(lái)很久去百度搜索,發(fā)現(xiàn)都沒有被收錄晃跺。
后來(lái)才知道揩局,原來(lái)github上是拒絕被爬蟲爬取的。那該怎么辦掀虎?
是不是把代碼遷移出github就可以了凌盯?總之前前后后試了很多種辦法,在這里為大家推薦三種方法:
- Coding代碼托管
這種辦法可行烹玉,而且是免費(fèi)的驰怎,但是存在很大的不穩(wěn)定性,因?yàn)樵L問網(wǎng)站很慢春霍,后來(lái)在終端ping了一下砸西,發(fā)現(xiàn)丟包很嚴(yán)重,果斷放棄址儒!
- 碼云
很強(qiáng)大芹枷,部署上去訪問速度也很快,如果不想花錢莲趣,那么域名只能是**.io鸳慈;如果想自定義域名,需要花錢喧伞,不到100元搞定走芋,而且可以試用一個(gè)月绩郎,很ok的,但是需要花錢翁逞,也放棄了肋杖!
- 阿里云服務(wù)器
因?yàn)楸救擞邪⒗镌品?wù)器,所以就開始研究如何將代碼部署到阿里云服務(wù)器挖函。因?yàn)閔exo生成的是靜態(tài)網(wǎng)頁(yè)状植,嘗試使用upload上傳工具上傳到服務(wù)器,配置nginx訪問怨喘,非常完美津畸!美中不足的是每次修改都需要用工具上傳,太繁瑣必怜,于是就研究在阿里云部署git~~~
可以瀏覽下我的網(wǎng)站:夜雨寒
1. 安裝git
本地終端通過(guò)ssh manager@47.**.**.**
登錄阿里云服務(wù)器肉拓,安裝git
$ yum install git
2. 創(chuàng)建一個(gè)用戶組-git
$ groupadd git
在用戶組下創(chuàng)建一個(gè)用戶,名字為git
# adduser git -g git
給git分配一個(gè)密碼
$ passwd git
之后輸入密碼即可
3. 公鑰
在服務(wù)器創(chuàng)建文件梳庆,配置公鑰暖途,用于git提交時(shí)免登陸
$ cd /home/git/
$ mkdir .ssh
$ chmod 700 .ssh
$ touch .ssh/authorized_keys
$ chmod 600 .ssh/authorized_keys
$ chown -R git:git .ssh
其中/home/git
目錄為服務(wù)器上用戶git的主頁(yè)目錄,上述操作相當(dāng)于在/home/git/.ssh/
目錄下新建一個(gè)authorized_keys
文件膏执。并把目錄.ssh的權(quán)限設(shè)置為700丧肴,authorized_keys
文件權(quán)限設(shè)置為600。
因?yàn)間it的pull相當(dāng)于讀操作胧后,push相當(dāng)于寫操作,所以需要讀寫權(quán)限抱环。
復(fù)制客戶端公鑰到服務(wù)器authorized_keys
文件
4. 服務(wù)器端初始化git倉(cāng)庫(kù)
$ cd /home/data
$ mkdir gitroot
$ chown git:git gitroot/
$ cd gitroot
$ git init --bare demo.git
$ chown -R git:git demo.git
現(xiàn)在可以在客戶端克隆倉(cāng)庫(kù)
git clone git@xxx.xxx.xxx.xxx:/home/data/gitroot/demo.git
相信很多人和我一樣壳快,不僅僅是為了創(chuàng)建一個(gè)git倉(cāng)庫(kù)供大家使用就ok了;很多時(shí)候镇草,我們需要上傳的項(xiàng)目代碼眶痰,例如:靜態(tài)網(wǎng)頁(yè)等,需要去使用梯啤。繼續(xù)竖伯。。
5. 鉤子設(shè)置-找到我們的代碼
利用git的hooks
中的post-receive
來(lái)實(shí)現(xiàn)代碼提交完成之后的動(dòng)作因宇。將倉(cāng)庫(kù)指定一個(gè)--work-tree
然后進(jìn)行檢出操作checkout --force
在/home/data/gitroot/demo.git
目錄下七婴,有一個(gè)hooks文件夾,編輯里面的root-receive
文件察滑,如果沒有可以創(chuàng)建一個(gè)
cd /home/data/gitroot/demo.git/hooks
vi post-receive
在 post-receive 文件增加下面兩行
# 指定我的代碼檢出目錄
DIR=/home/demo
git --work-tree=${DIR} clean -fd
# 直接強(qiáng)制檢出
git --work-tree=${DIR} checkout --force
這里需要注意一下:
/home/demo
目錄需要手動(dòng)去創(chuàng)建打厘,并要給與較高的權(quán)限
cd /home
chmod 777 demo
最后,在客戶端push我們的代碼贺辰,就可以在服務(wù)器端 /home/demo
目錄下看到我們上傳的代碼了户盯。
可以瀏覽下我的網(wǎng)站:夜雨寒