一步步帶你搭建遠程服務器的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 建立信任
- mac系統自己百度(google)安裝ssh-copy-id 其實就是一個簡單的腳本
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