當(dāng)資源有限,但是項(xiàng)目同時(shí)需要幾個(gè)人協(xié)同開(kāi)發(fā),我們就需要配置一個(gè)簡(jiǎn)單的局域網(wǎng)內(nèi)的git服務(wù)器,方便協(xié)同開(kāi)發(fā)。
創(chuàng)新互聯(lián)建站主營(yíng)海滄網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營(yíng)網(wǎng)站建設(shè)方案,手機(jī)APP定制開(kāi)發(fā),海滄h5成都微信小程序搭建,海滄網(wǎng)站營(yíng)銷推廣歡迎海滄等地區(qū)企業(yè)咨詢
首先我們新建遠(yuǎn)端的git目錄,目錄名和本地倉(cāng)庫(kù)名一致,并且在目錄下運(yùn)行:
git init --bare
一個(gè)空的git倉(cāng)庫(kù)就建立好了。然后我們需要把本地的倉(cāng)庫(kù)和遠(yuǎn)端的關(guān)聯(lián)起來(lái)。具體做法是,在本地git倉(cāng)庫(kù)的目錄下執(zhí)行:
git remote add origin ssh://用戶名@ip/倉(cāng)庫(kù)路徑
比如:git remote add origin ssh://android@192.168.31.72/home/android/projects/gitserver/demoproject/。完成后,本地的提交,就可以push到遠(yuǎn)端啦。比如:
git push origin master
就可以把本地的master推送到遠(yuǎn)端。協(xié)同開(kāi)發(fā)的同事可以通過(guò)如下命令獲取遠(yuǎn)端的倉(cāng)庫(kù)
git clone ssh://android@192.168.31.72/home/android/projects/gitserver/demoproject/
是不是很簡(jiǎn)單呢
ps:實(shí)際使用過(guò)程中發(fā)現(xiàn)了一個(gè)問(wèn)題,即本機(jī)的ip地址不是靜態(tài)的。如何解決這個(gè)問(wèn)題呢?可以在每次ip改變以后,重置倉(cāng)庫(kù)的origin url:
git remote set-url origin {url}
因?yàn)槭褂胓ithub倉(cāng)庫(kù)存放Hexo博客速度太慢,所以自己買了騰訊云的服務(wù)器,現(xiàn)在開(kāi)始把博客部署到騰訊云,由于域名還沒(méi)有審核通過(guò),暫時(shí)使用公網(wǎng)ip訪問(wèn)
本地環(huán)境: win7
服務(wù)器: 騰訊云
使用工具: Xshell, Xftp, git
使用Xshell工具(root用戶)遠(yuǎn)程登錄騰訊云
此時(shí)打開(kāi)瀏覽器,輸入公網(wǎng)IP+端口,進(jìn)入nginx的歡迎頁(yè)面
修改根目錄root為/home/www/hexo;
修改域名server_name為你備案的域名 ,如果還沒(méi)有就不改,有了再改;
找到 root ALL=(ALL) ALL,在下一行添加 git ALL=(ALL) ALL,然后保存
在.ssh目錄下創(chuàng)建authorized_key這一步之后,打開(kāi)本地存放公鑰的文件id_rsa.pub(github生成ssh密鑰問(wèn)題不會(huì)的可以百度,教程很多這里不細(xì)講),復(fù)制密鑰到服務(wù)器上的authorized_keys文件中并保存,這樣當(dāng)你使用ssh遠(yuǎn)程連接服務(wù)器時(shí)就不用輸入密碼
接著在本地打開(kāi)git bash用ssh方式遠(yuǎn)程連接服務(wù)器 ,登錄成功界面如下圖所示
打開(kāi)hexo博客配置文件_config.yml 修改repo:git@你的服務(wù)器公網(wǎng)IP:/home/git/hexo.git
執(zhí)行部署命令之前需要進(jìn)入本地hexo博客安裝目錄中刪除.deploy_git文件
打開(kāi)Xftp工具進(jìn)入/home/www/hexo,看到文件就表示通過(guò)git已經(jīng)提交到服務(wù)器中去了
但此時(shí)需要重啟nginx服務(wù)才能訪問(wèn)
走到這一步就算是大功告成,瀏覽器輸入 進(jìn)入hexo我的博客主頁(yè)了
更新:買的域名備案成功了,歡迎大家訪問(wèn) 我的Hexo博客
OS:CentOS 7.2
Git:1.8.3.1
備份模式:
以下步驟以雙機(jī)備份為例,單機(jī)備份同理,只是在鏡像git項(xiàng)目的時(shí)候把git url換成單機(jī)中的git項(xiàng)目目錄即可。
首先,查看系統(tǒng)軟件庫(kù)中是否有g(shù)it和git的版本:
CentOS 7.2環(huán)境下的輸出如下:
CentOS 7.x版本的倉(cāng)庫(kù)中已經(jīng)附帶了1.8.3.1版本的git,可以直接安裝。
CentOS 6.x中的git是1.7.x版本,自帶庫(kù)中g(shù)it版本低的linux發(fā)行版可以添加git1.8.3.1的源來(lái)安裝git,但這個(gè)操作要求本機(jī)能訪問(wèn)互聯(lián)網(wǎng)
其他版本的git理論上也可以,請(qǐng)自行測(cè)試
結(jié)果最后顯示“安裝完成”或“Complete”表示安裝成功。可以直接使用git命令測(cè)試一下:
輸出如下表示git安裝成功并可用。
創(chuàng)建一個(gè)git用戶,用來(lái)提供給外部用戶以git url的方式訪問(wèn)git庫(kù)。
在用戶目錄或其他對(duì)外目錄中創(chuàng)建 /git/repos 目錄,用來(lái)存放git庫(kù)。
注意: 盡量使用git用戶來(lái)創(chuàng)建該目錄,方便以后git操作該目錄,如果是使用其他用戶創(chuàng)建的,記得使用以下命令將該目錄的owner改為git:
為了方便訪問(wèn),可以在根目錄下創(chuàng)建一個(gè)軟鏈連接到該目錄:
這樣設(shè)置后,假如以后有一個(gè)庫(kù)叫 test.git ,那么就可以通過(guò)以下url來(lái)訪問(wèn)git庫(kù)了:
創(chuàng)建一個(gè)測(cè)試庫(kù)用來(lái)測(cè)試備份及連通性。
同主GIT服務(wù)器的《安裝git》章節(jié)。
同主GIT服務(wù)器的《創(chuàng)建git庫(kù)目錄》章節(jié)。
目錄結(jié)構(gòu)盡量與主git服務(wù)器上的結(jié)構(gòu)一致,如果不一致,使用軟鏈的形式將git url配置為與主git服務(wù)器一致,這樣保證在切換服務(wù)器時(shí),客戶端不用做修改操作。
以上個(gè)步驟中創(chuàng)建的 test.git 為例:
這樣,主git服務(wù)器中的 test.git 就鏡像到備份機(jī)中了。
如果主服務(wù)器的git項(xiàng)目發(fā)生了變更,可以將變更同步到備份機(jī)。
將以上同步命令寫成腳本,添加一個(gè)定時(shí)任務(wù)來(lái)定時(shí)同步即可。
(待補(bǔ)充)
備份同步時(shí)每次都需要輸入主git服務(wù)器的密碼,比較麻煩,也不利于定時(shí)同步的腳本操作,可以使用ssh免密登錄的方式,在主服務(wù)器上配置備份服務(wù)器的公鑰。
一路Enter(回車鍵),完成后會(huì)打印出密鑰的生成位置,通常在用戶主目錄的 .ssh 目錄中。默認(rèn)情況下會(huì)生成以下兩個(gè)文件:
一定要注意上述命令中的第三步,權(quán)限要設(shè)置對(duì),否則認(rèn)證不過(guò)去不能免密登錄。
如果在實(shí)際運(yùn)行中,主git服務(wù)器掛了一段時(shí)間,在這段時(shí)間里一直是備份git服務(wù)器在工作,那么在修復(fù)好主服務(wù)器后需要將這一段時(shí)間的變更同步回主服務(wù)器。
操作完成后備份庫(kù)自上一次同步后的更改都推送到了主庫(kù)。
先搞明白Hexo博客從搭建到自動(dòng)發(fā)布的架構(gòu),才能更好的理解我們每一步進(jìn)行的操作。
不然只跟著步驟過(guò)了一遍,卻不知道為什么這么做。
首先看這張架構(gòu)圖:
整個(gè)流程就是本地將 *.md 渲染成靜態(tài)文件,然后Git推送到服務(wù)器的 repository ,服務(wù)器再通過(guò) git-hooks 同步網(wǎng)站根目錄。
前提條件: 騰訊云服務(wù)器
第一部分 : 服務(wù)器環(huán)境搭建,包括安裝 Git 、 Nginx 配置 、創(chuàng)建 git 用戶 。
第二部分 : 本地 Hexo 初始化, 包括安裝 NodeJS 、 hexo-cli , 生成本地靜態(tài)網(wǎng)站
第三部分 : 使用Git自動(dòng)化部署發(fā)布博客
NodeJS 安裝可以參考: Linux安裝NodeJS
找到以下內(nèi)容
在下面添加一行
保存退出后改回權(quán)限
隨后設(shè)置Git用戶的密碼,
切換至git用戶,創(chuàng)建 ~/.ssh 文件夾和 ~/.ssh/authorized_keys 文件,并賦予相應(yīng)的權(quán)限
然后就可以執(zhí)行ssh 命令測(cè)試是否可以免密登錄
至此,Git用戶添加完成
我是用的是lnmp 一鍵安裝包,nginx安裝教程一大堆,就不再敘述。主要看nginx配置。
找到nginx的配置文件,修改配置如下:
首先要安裝 hexo-cli ,安裝 hexo-cli 需要 root 權(quán)限,使用 sudo 運(yùn)行
然后初始化Hexo程序
等執(zhí)行成功以后安裝兩個(gè)插件, hexo-deployer-git 和 hexo-server ,這倆插件的作用分別是使用Git自動(dòng)部署,和本地簡(jiǎn)單的服務(wù)器。
hexo-deployer-git幫助文檔
hexo-server幫助文檔
使用 hexo new 文章名稱 來(lái)新建文章,該命令會(huì)成成一個(gè) .md 文件放置在 sources/_posts 文件夾。
編輯完畢以后, 使用 hexo g 將 .md 文件渲染成靜態(tài)文件,然后啟動(dòng) hexo-server :
現(xiàn)在便可以打開(kāi)瀏覽器訪問(wèn) 來(lái)查看我們的博客了!
創(chuàng)建一個(gè)裸倉(cāng)庫(kù),裸倉(cāng)庫(kù)就是只保存 git 信息的 Repository , 首先切換到 git 用戶確保 git 用戶擁有倉(cāng)庫(kù)所有權(quán)
一定要加 --bare ,這樣才是一個(gè)裸庫(kù)。
在這里我們使用的是 post-receive 這個(gè)鉤子,當(dāng)git有收發(fā)的時(shí)候就會(huì)調(diào)用這個(gè)鉤子。 在 ~/blog.git 裸庫(kù)的 hooks 文件夾中,
新建 post-receive 文件。
保存后,要賦予這個(gè)文件可執(zhí)行權(quán)限
然后打開(kāi) _config.yml , 找到 deploy
保存后,嘗試將我們剛才寫的"hello hexo"部署到服務(wù)器
訪問(wèn)服務(wù)器地址,就可以看到我們寫的文章"Hello hexo",以后寫文章只需要:
博客就更新咯!~
使用 Git Hook 自動(dòng)部署 Hexo 到個(gè)人 VPS
Hexo 文檔
當(dāng)前文章:騰訊云服務(wù)器git搭建 騰訊云服務(wù)器建站教程
本文路徑:http://jinyejixie.com/article32/dddhssc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站內(nèi)鏈、用戶體驗(yàn)、App設(shè)計(jì)、網(wǎng)站制作、電子商務(wù)、移動(dòng)網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)