將Hexo部署到自己的服務器上


之前寫了一篇通過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: root@xxx.xx.xxx.xxx:/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搭建一個自己的博客


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM