先上個最終效果圖,具體優化配置等備案完成後再上傳,不然容易出現安全問題
阿里雲Hexo博客搭建
一. 配置服務器環境
1. 服務器環境搭建
首先需要安裝nginx
先安裝pcre pcre-devel和zlib,因爲配置nginx需要用到
PCRE(Perl Compatible Regular Expressions) 是一個Perl庫,包括 perl 兼容的正則表達式庫。nginx 的 http 模塊使用 pcre 來解析正則表達式,所以需要在 linux 上安裝 pcre 庫,pcre-devel 是使用 pcre 開發的一個二次開發庫。nginx也需要此庫。命令:
yum install -y pcre pcre-devel
zlib 庫提供了很多種壓縮和解壓縮的方式, nginx 使用 zlib 對 http 包的內容進行 gzip ,所以需要在 Centos 上安裝 zlib 庫。
yum install -y zlib zlib-devel
安裝其他需要用到的內容
yum install gcc-c++
yum install -y openssl openssl-devel
下載nginx安裝包,可到nginx官網尋找穩定版本,筆者操作時候穩定版本爲1.16.1
wget -c http://nginx.org/download/nginx-1.16.1.tar.gz
解壓並進入解壓後的文件夾
tar -zxvf nginx-1.16.1.tar.gz
cd nginx-1.16.1
使用nginx的默認配置
./configure
編譯安裝
make
make install
查找安裝路徑
whereis nginx
進入sbin目錄,可以看到有一個可執行文件nginx,直接./執行就OK了。
運行起來之後訪問服務器ip,可以看到nginx的歡迎頁面,如下
至此,對於雲服務器,nginx已經安裝完成
配置開機自啓動
vi /etc/rc.local
增加一行 /usr/local/nginx/sbin/nginx
設置執行權限:
chmod 755 /etc/rc.local
2. 配置服務器環境
cd /usr/local/nginx/conf
vim nginx.conf
按如下更改,第一處localhost可以更改爲域名,後面兩處都更改爲博客的保存地址
sudo mkdir -p /usr/blog
二. 安裝Node.js以及Git
1. 安裝Node.js
wget -c https://nodejs.org/dist/v12.14.1/node-v12.14.1-linux-x64.tar.xz
xz -d node-v12.14.1-linux-x64.tar.xz
tar -xvf node-v12.14.1-linux-x64.tar
創建軟鏈接讓命令可以隨處使用
ln -s /usr/node-v12.14.1-linux-x64/bin/node /usr/local/bin/node
ln -s /usr/node-v12.14.1-linux-x64/bin/npm /usr/local/bin/npm
node -v
npm -v
2. 安裝Git及配置倉庫
這一部分主要目的是讓我們個人的電腦可以通過ssh方式連接到雲服務器,然後我們就可以通過命令行方式將我們的博客推送到服務器上。操作如下:
安裝git
yum install -y git
配置git用戶
adduser git
sudo chown -R git:git /usr/blog
修改用戶權限
chmod 740 /etc/sudoers
vi /etc/sudoers
添加如下內容
保存退出後將sudoers文件權限改回原樣
chmod 400 /etc/sudoers
設置git用戶的密碼
sudo passwd git
切換到git用戶,然後在~目錄下創建.ssh文件夾
su git
cd ~
mkdir .ssh
cd .ssh
生成公鑰密鑰文件
ssh-keygen
此時在目錄下就會有兩個文件,分別是
id_rsa 和 id_rsa.pub
其中 id_rsa.pub 就是公鑰文件 我們複製一份
cp id_rsa.pub authorized_keys
這樣目錄下就會有一個authorized_keys文件,它和id_rsa.pub一模一樣。
最後我們修改它的權限
chmod 600 ~/.ssh/authorized_keys
chmod 700 ~/.ssh
然後在自己的電腦上使用ssh方式連接到雲服務器
ssh -v git@服務器的公網ip
最後提示
Welcome to Alibaba Cloud Elastic Compute Service !
說明登錄成功了。
現在我們要創建一個git的倉庫,並且新建一個post-receive文件,操作如下:
cd ~
git init --bare blog.git
vi ~/blog.git/hooks/post-receive
輸入以下內容:
git --work-tree=/usr/blog --git-dir=/home/git/blog.git checkout -f
保存退出並授予該文件可執行權限
chmod +x ~/blog.git/hooks/post-receive
至此我們就完成了所有關於服務器端的配置。
三. 關於本地主機的操作
1. 安裝Node.js
https://nodejs.org/en/download/
下載Windows下的Node.js安裝包,選擇一個位置安裝,筆者安裝在了C盤下面的node目錄下面
之後在cmd中輸入版本查看後可看到如下內容
2. 安裝Hexo
由於使用npm直接下載會有很多人遇到卡頓的問題(國外服務器),所以我們要做的第一步工作是將npm換成淘寶的服務器。
cmd輸入下面的命令
npm config set registry https://registry.npm.taobao.org
# 然後安裝cnpm
npm install -g cnpm --registry=https://registry.npm.taobao.org
接下來就直接安裝 hexo
cnpm install -g hexo-cli
然後我們選一個目錄用來初始化博客程序
例如C:/blog
cmd輸入:
cd ..
cd ..
cd blog
hexo init
下載Git For Windows版本,一直下一步安裝完成後再進入cmd輸入相關命令即可安裝
執行成功後安裝兩個插件
npm install hexo-deployer-git --save
npm install hexo-server
之後我們就可以在自己的本機上查看自己的博客了
hexo g
hexo s
打開瀏覽器訪問 http://localhost:4000
3. 配置_config.yml完成服務器的部署
在剛纔生成hexo的目錄下,找到_config.yml,打開它。
找到deploy 做如下配置
deploy:
type: git
repo: git@這裏改爲服務器公網IP:/home/git/blog.git
branch: master
message:
保存退出
然後嘗試寫一篇文章並且發佈到服務器上
hexo new "first blog"
hexo clean && hexo generate --deploy
在服務器上重新運行nginx服務器
cd /usr/local/nginx/sbin
./nginx -s reload
然後就可以輸入域名或網址訪問博客了,以後寫文章所用命令
hexo new "blog article name"
hexo clean && hexo generate --deploy
四. 博客美化
對於之後的個性化配置操作,需要參考Hexo官方文檔