本文介紹將hexo部署到騰訊云的centos服務器上。
準備一臺centos云服務器。
搭建本地hexo服務
搭建本地hexo服務可以參見我之前的博客,這里不再贅述。
登錄centos云服務器
這里采用ssh遠程登錄
打開終端輸入以下命令
ssh username@your_server_ip
然后輸入你的用戶密碼按下回車鍵就可以登進去了
這里是以默認端口號22進行訪問,如果你的端口號改動了則可以加上 -p 參數。
ssh username@your_server_ip -p 端口號
安裝并配置nginx環境
- ssh 登錄到服務器然后下載nginx
yum update
yum install -y nginx
- 啟動nginx并設置開機自啟
service nginx start
systemctl enable nginx
[圖片上傳失敗...(image-25fed3-1530894142810)]
現在瀏覽器輸入外網地址就可以看到歡迎界面了
- 配置nginx環境
這里主要配置域名以及網站根目錄,如果沒有域名則可以暫時不配置,等購買域名并完成域名備案域名解析后再做配置。
vim /etc/nginx/nginx.conf
以下列出主要配置:
server {
listen 80;
server_name example.com; #改為自己的域名
root /usr/share/nginx/blog; #改為自己博客的目錄
}
新建剛剛改的博客目錄:
mkdir /usr/share/nginx/blog
nginx配置基本完成。
安裝Node.js
- 下載Nodejs
wget https://nodejs.org/dist/v10.5.0/node-v10.5.0-linux-x64.tar.xz
- 解壓Node.js
tar -xvJf node-v10.5.0-linux-x64.tar.xz
mv node-v10.5.0-linux-x64 node
- 配置環境變量
mv node/ /usr/local/
vim ~/.bash_profile
增加以下內容:
export NODE_HOME=/usr/local/node #node路徑
export PATH=$NODE_HOME/bin:$PATH
- 更新配置
source ~/.profile
測試是否配置正確
node -v
到此為止我們的Node.js就配置好了
安裝Git并進行配置
- 安裝Git
yum install -y git
- 創建git用戶并為其設置密碼
adduser git #創建用戶
passwd git #設置密碼
- 切換至git用戶,添加SSH Key
在客戶端查看并復制客戶端的SSH Keys
#注意這是在客戶端執行,將內容復制下,下面要用。
cat ~/.ssh/id_rsa.pub
#這是在服務器端執行的
su git #切換用戶
mkdir ~/.ssh #創建目錄
vim ~/.ssh/authorized_keys #將剛剛復制的內容寫進去
- 為剛剛的文件和目錄設置權限
chmod 600 ~/.ssh/authorized_keys
chmod 700 ~/.ssh
- 在客戶端測試是否能連接服務器
終端輸入以下命令,如果成功登錄則配置成功。
ssh -v git@your_server_ip #注意更改你自己的服務器ip
- 將博客發布目錄的屬主屬組改為git
chown -R git:git /usr/share/nginx/blog
- 初始化Git倉庫
su git
cd ~
git init --bare blog.git #使用--bare參數,Git就會創建一個裸庫。
- 配置git hooks
vim ~/blog.git/hooks/post-receive
在post-receive中寫入以下內容:
#!/bin/bash
git --work-tree=/usr/share/nginx/blog --git-dir=/home/git/blog.git checkout -f
賦予其執行權限
chmod +x ~/blog.git/hooks/post-rceive
配置博客根目錄的主配置文件
編輯博客根目錄下的_config.yml
deploy:
type: git
repo: git@your_server_ip:/home/git/blog.git #注意改成自己的服務器ip
branch: master
message:
在博客主目錄執行以下命令
hexo clean
hexo g
hexo d
部署完成后就可以在瀏覽器輸入你的域名訪問你的博客了。
最后歡迎大家訪問我的博客: 徐先生的小窩