將Hexo博客部署到阿里雲服務器

將Hexo博客部署到阿里雲服務器


前言

疫情期間,阿里雲推出了學生“在家實踐”計劃,可以免費領取6個月的服務器,本着學習(白嫖)的目的,咱也得領啊,第一天沒有搶到,主要不知道要先答題,答案網上都有,當然,大佬忽略我這句話,第二天答題過後很容易就搶到了,配置也還可以,鏈接在這( https://developer.aliyun.com/adc/student/ ),於是乎搭建了這個博客,期間也踩了不少坑,希望給有相關想法的同學提供一些幫助。

一.原理

搭建之前咱先得明白怎麼回事纔行啊,這裏我們得先了解以下我們的博客採用的框架—Hexo,這是一個快速、簡潔且高效的博客框架,關於這個框架的使用我會單獨寫一篇,這裏主要講部署相關的東西,敬請關注網站後續。

Hexo框架的大致架構爲我們在自己的計算機上寫好文章將它保存在source文件夾中,然後hexo會將我們的寫好的文章轉化爲靜態的HTML文件,之後push到git倉庫,服務器中配置好git-hooks,就可以自動將我們倉庫中的東西更新到網站的根目錄,於是乎就能看到整個頁面了(需要一點git相關的知識,最好能夠學習一下,看不懂也沒關係 照着敲就行)

二.雲服務器和域名的購買

  • 雲服務器

    這個就見仁見智了,可以選擇阿里雲、騰訊雲和華爲雲,都是比較好的,我這裏領了阿里雲的服務器所以就在這個平臺了。

  • 域名

    域名我建議你在哪個平臺上買的服務器就在哪個平臺上買域名吧,之後備案會方便一點,這裏注意一下,如果是國內的服務器,想要綁定你的域名是一定要備案的,備案也要花上一段時間,沒有備案的話,只能通過服務器給你的公網IP進行訪問,比較不方便,也不太好記,不過如果是國外的服務器就不需要這麼折騰了。

三.雲服務器上的操作(以阿里云爲例)

3.1 配置安全組規則

阿里雲默認是不授權80端口訪問的,這個端口跑的是網頁服務器的訪問,所以要先把它開啓,否則後面配置好後也無法訪問哦

登錄你的控制檯 -> 左側雲服務器ECS -> 點擊實例ID ->
在這裏插入圖片描述

在這裏插入圖片描述

3.2 配置服務器環境

3.2.1 安裝服務器

首先我們返回到實例詳情頁面,點擊基本信息處的遠程連接,輸入用戶名(默認爲root)和密碼登錄進去,當初選購雲服務器需要讓你選擇系統,那裏我選擇了Centos7.x的版本,有點忘了,選擇你熟悉的就行,這裏我們要先安裝服務器,我們採用nginx作爲我們的服務器,安裝命令如下

yum install nginx 安裝nginx

systemctl start nginx 開啓nginx服務

systemctl enable nginx 跟隨系統啓動

做完以上步驟後,你可以用公網IP來訪問以下你的網站,如果顯示nginx或是centos的界面的話就是沒問題的

3.2.2 修改nginx的配置文件

這裏我們先自己編寫好相應的配置文件,然後採用include的方式,將它引入到nginx的配置文件中,操作如下:

在/etc/nginx/目錄下創建一個文件夾 叫做vhost

cd /etc/nginx/

mkdir vhost

cd myConfig

vim blog.conf

編寫blog.conf的內容

server{
	listen    80;
	root /home/www/website;這裏填博客目錄存放的地址,我們待會兒去新建它
	server_name 這裏填你的域名
	location /{
	}
}

保存並退出 按下esc鍵 -> :wq

接下來我們把這個文件引入到nginx的配置文件中

vim /etc/nginx/nginx.conf

在這裏插入圖片描述
並且修改server中的一些值
在這裏插入圖片描述

3.2.3 新建存放博客的目錄

也就是我們上面說的website,輸入命令

cd /home

mkdir www

cd /www

mkdir website

四. 安裝Git及Node.js

之所以要安裝Node是因爲我們的Hexo框架需要Node作爲支持

輸入命令

//安裝Git
yum install git

// 安裝Node
curl -sL https://rpm.nodesource.com/setup_10.x | bash -
yum install -y nodejs

之後新建一個用戶並修改權限

adduser git

chmod 740 /etc/sudoers

vim /etc/sudoers

在這裏插入圖片描述

保存後退出 將權限修改回來

chmod 400 /etc/sudoers

sudo passwd git  //設置git密碼
su git	//切換到git用戶
cd ~	//切換目錄
mkdir .ssh	//新建.ssh文件夾
cd .ssh	//進入文件夾
ssh-keygen	//生成公鑰密鑰文件
cp id_rsa.pub authorized_keys	//複製文件
chmod 600 ~/.ssh/authorized_keys
chmod 700 ~/.ssh

五.測試

使用自己電腦 管理員方式運行命令提示符 連接雲服務器

ssh -v git@你的公網IP

在這裏插入圖片描述

如果提示 Welcome balabali…

就成功了

六.創建git倉庫

在服務器端 創建git倉庫,輸入命令

cd ~
git init --bare blog.git
vi ~/blog.git/hooks/post-receive

輸入git --work-tree=/home/www/website --git-dir=/home/git/blog.git checkout -f

保存並退出

修改權限

chmod +x ~/blog.git/hooks/post-receive

七.完成部署

修改Hexo的配置文件,也就是_config.yml(至於怎麼在本地構建Hexo,之後我會再更新,敬請關注!)

deploy:
  type: git
  repo: git@你的服務器公網IP:/home/git/blog.git
  branch: master
  message: 

之後重新執行

Hexo clean
Hexo g
Hexo deploy

最後重新運行nginx服務器即可

nginx -s reload

我的blog地址 https://bagbean.cn 歡迎大家訪問嗷!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章