一步步帶你搭建遠程服務器的git倉庫,並將自己的博客部署到服務器上

一步步帶你搭建遠程服務器的git倉庫,並將自己的博客部署到服務器上

本次教程基於寶塔linux控制面板 沒有安裝寶塔的可以進入如下網頁安裝寶塔

本次教程基於HEXO博客架構 這裏我默認你已經安裝了hexo博客而且可以往github上push頁面 並且可以訪問

http://你的githubid.github.io 的博客網站

如果你已經測試成功上面的兩個步驟那你就可以繼續往下看 如果不行 請將上面兩個前提條件實現

使用阿里雲的朋友如果你的服務器爲新的鏡像請做如下操作:

  • 將你的系統鏡像更改爲寶塔面板(BT-PANEL)

  • 在防火牆端口開放如下端口:8888,80,3306,8080

  • http://服務器ip:8888 爲你的寶塔控制面板地址

  • 輸入如下命令查看寶塔的默認密碼,ps:默認管理員賬號爲:admin

sudo cat /www/server/panel/default.pl

看到這一步我已經默認你安裝完寶塔linux界面並可以進入管理員界面 如圖所示

界面

服務器設置

這裏我默認認爲你已經在本地配置了git賬號密碼

1.安裝git

當然以下操作都是在你遠程服務器上操作的

centos 輸入以下命令

git --version // 如無,則安裝
yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-devel
yum install -y git

2.配置git倉庫

1.創建用戶git並配置倉庫

useradd git
passwd git // 設置密碼
su git // 這步很重要,不切換用戶後面會很麻煩
mkdir -p /www/wwwroot/blog // 項目存在的真實目錄,由於需要用到寶塔 我們把博客地址放到寶塔網站地址下
如果上面mkdir出錯是因爲我們沒有把git用戶添加到sudoers中
做如下操作
sudo su //輸入密碼進入root用戶
cd /etc/
vim sudoers

找到root ALL=(ALL) ALL
在下面添加

git ALL=(ALL)   ALL

注意對齊

然後進入git用戶執行如下命令

su git
sudo mkdir -p /www/wwwroot/blog
cd /home/git/
mkdir repos && cd repos
git init --bare blog.git
cd blog.git/hooks
vi post-receive // 創建hook鉤子函數,輸入了內容如下(原理可以參考上面的鏈接)

輸入如下內容

#!/bin/sh
!/bin/sh
git --work-tree=/www/wwwroot/blog --git-dir=/home/git/repos/blog.git checkout -f

添加完畢後修改權限,執行如下命令

chmod +x post-receive
exit // 退出到 root 登錄
chown -R git:git /home/git/repos/blog.git // 添加權限

測試git倉庫是否可用,另找空白文件夾,執行如下命令
注意這一步在自己的電腦上測試

git clone git@server_ip:/home/git/repos/blog.git

如果能把空倉庫拉下來,就說明 git 倉庫搭建成功了
當然你會提示你拉下來的是空倉庫

3.本地電腦設置

建立ssh信任關係,在本地電腦,執行如下命令

參考資料:

ssh-copy-id -i C:/Users/yourname/.ssh/id_rsa.pub git@server_ip
ssh git@server_ip // 測試能否登錄
注:此時的 ssh 登錄 git 用戶不需要密碼!否則就有錯,請仔細重複步驟 3-4

如果第 5 步能成功,爲了安全起見禁用git用戶的 shell 登錄權限,從而只能用git clone,git push等登錄,執行如下命令

cat /etc/shells // 查看`git-shell`是否在登錄方式裏面,有則跳過
which git-shell // 查看是否安裝
vi /etc/shells
添加上2步顯示出來的路勁,通常在 /usr/bin/git-shell

修改/etc/passwd中的權限,將原來的

git:x:1000:1000::/home/git:/bin/bash

修改爲

git:x:1000:1000:,,,:/home/git:/usr/bin/git-shell

4.寶塔面板設置

  • 進入你的寶塔面板 yourip:8888 並輸入賬號密碼進入如下界面

界面

選擇網站 添加站點 如圖所示

網站

然後填入如下信息

  • 網站ip
  • 網站目錄選擇/www/wwwroot/blog

設置

然後點擊提交

5.HEXO配置文件設置

在你和hexo博客配置文件中找到根目錄中的_config.yml 在deploy項中修改如下

設置

deploy:
    type: git
    repository:
      github: 這裏是你的github.io頁面地址
      server: git@你的ip:/home/git/repos/blog.git
    branch: master

然後執行如下命令將你的博客push到服務器的git倉庫中

hexo clean
hexo d -g

然後在瀏覽器輸入你的網站http://ip/ 查看效果

成功的話會顯示你的主頁界面

主頁

最後放上我的博客首頁歡迎訪問

#END

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章