將Hexo部署到自己的伺服器上
阿新 • • 發佈:2020-08-06
之前寫了一篇通過GitHub和Hexo搭建一個自己的部落格,但是在國內很多時候訪問GitHub速度會很慢,閱讀部落格的體驗很不好,為了解決這個問題,我們可以將Hexo搭建到自己的伺服器上,這樣訪問部落格的速度就有了很大的提升!
第一部分:伺服器端操作
1、安裝git和nginx
yum install -y nginx git
2、新增一個git使用者
useradd git passwd git # 給git使用者配置sudo許可權 chmod 740 /etc/sudoers vim /etc/sudoers # 找到root ALL=(ALL) ALL,在它下方加入一行 git ALL=(ALL) ALL chmod 400 /etc/sudoers
3、給git使用者新增ssh金鑰
su - git
mkdir -p ~/.ssh
touch ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorzied_keys
chmod 700 ~/.ssh
vim ~/.ssh/authorized_keys #將ssh金鑰貼上進去
4、建立git倉庫並使用git-hooks實現自動部署
sudo mkdir -p /var/repo #新建目錄,這是git倉庫的位置 sudo mkdir pp /var/www/hexo cd /var/repo #轉到git倉庫的資料夾 sudo git init --bare blog.git #建立一個名叫blog的倉庫 sudo vim /var/repo/blog.git/hooks/post-update
post-update
的內如如下:
#!/bin/bash
git --work-tree=/var/www/hexo --git-dir=/var/repo/blog.git checkout -f
給post-update授權:
cd /var/repo/blog.git/hooks/
sudo chown -R git:git /var/repo/
sudo chown -R git:git /var/www/hexo
sudo chmod +x post-update #賦予其可執行許可權
5、配置Nginx
cd /etc/nginx/conf.d/
vim blog.conf
blog.conf
的內如如下:
server { listen 80 default_server; listen [::] default_server; server_name blog.59devops.com; root /var/www/hexo }
檢查Nginx語法並重載nginx:
6、修改git使用者的預設shell環境
vim /etc/passwd
#修改最後一行
#將/bin/bash修改為/usr/bin/git-shell
7、解析域名
到你購買域名的供應商控制檯,將域名解析到你的伺服器即可。
第二部分:本地配置(Mac)
1、安裝git
xcode-select --install
git --version
git version 2.21.1 (Apple Git-122.3)
2、安裝 Node.js 和 Npm
下載對應安裝包安裝或者通過homebrew安裝皆可。
3、安裝 Hexo 及相關外掛
sudo npm install hexo-cli hexo-server hexo-deployer-git -g
4、本地初始化部落格站點
hexo init ~/blog
npm install hexo-deployer-git --save
5、本地Hexo配置
# 修改Hexo的deploy配置
cd blog
vim _config.yml
# 找到deploy配置部分
# Deployment
## Docs: https://hexo.io/docs/deployment.html
deploy:
type: git
repo: [email protected]:/var/repo/blog.git # IP填寫自己伺服器的IP即可
branch: master
6、將本地Hexo程式碼部署到伺服器
# 清除快取
hexo clean
# 生成靜態頁面
hexo generate
# 將本地靜態頁面目錄部署到雲伺服器
hexo delopy
7、測試訪問
8、配置域名ssl證書
這個筆記是在自己部署成功之後寫的,關於ssl部署,我採用的是certbot自動簽署ssl證書的,這個非常方便。
9、其他
至於怎麼使用Hexo以及Hexo的配置優化之類的可以參考:通過GitHub和Hexo搭建一個自己的部落格