從零搭建Hexo博客並部署阿里雲服務器(奶媽級教學)

前言

前天剛買了個雲主機,就開始學着搭博客了,參考了挺多大手的博客,最終仍是選擇使用Hexo來做爲本身的博客框架。測試結束了,今天也將本身搭博客過程當中踩過的坑作一個輸出,但願對有想法要作本身的博客的同窗們有一些幫助。node

1、雲服務器和域名的購買

  • 雲服務器

服務器我選擇的是阿里雲這邊的,因爲本身是學生因此體驗了一把阿里雲的雲翼計劃,固然阿里雲和騰訊雲的價格都差很少,同窗們能夠自行選擇。nginx

服務器購買

  • 域名

域名能夠上萬網本身找本身喜歡的,在這裏要說的是,若是是國內的域名是要備案的,個人域名也正在備案當中,大概是6-20個工做日,若是不想等的同窗能夠購買國外的域名。git

2、關於雲服務器的操做

  • 1.配置安全組規則

因爲阿里雲是默認不受權80端口的訪問的,因此咱們要手動配置。web

打開阿里雲服務器管理控制檯->點擊左側安全組->點擊右側的配置規則->點擊添加安全組規則npm

以下圖vim

添加安全組規則
這是個大坑,若是不設置就沒法訪問服務器,因此放在第一點說。

  • 2.配置服務器環境

    • 1.服務器環境搭建

    咱們須要nginx做爲咱們的服務器,因此咱們首先要安裝nginx。可使用yum命令直接進行安裝。 安裝執行命令以下瀏覽器

    yum install -y nginx安全

    啓動服務器:bash

    systemctl start nginx服務器

    systemctl enable nginx

    咱們要記住的是/etc/nginx/是nginx默認的配置路徑,一會要用到。

    • 2.配置服務器路由

    安裝並啓動服務器後,咱們就完成了第一步,如今咱們能夠嘗試使用本身的電腦去訪問服務器的公網IP。咱們能夠驚喜地發現,公網IP能夠打開一個nginx的默認網頁。這樣,咱們就成功了第一步。

訪問成功

可是咱們其實是想要讓這個地址指向咱們的博客,而不是nginx的默認網址,這就須要咱們去配置nginx的配置文件。我在配置的時候在網上查到的關於nginx配置文件的有關資料,大部分關於centOS的資料都是說配置位於etc/nginx/conf.d/ 下的dafault.conf 這個配置文件,可是我在配置的時候並無找到它,後來查看了一下文件結構,阿里雲默認的庫下載的是fedora版本的nginx,因此咱們應該配置的是位於 etc/nginx/ 下的 nginx.conf

咱們先不急着打開這個文件,由於我並不建議直接配置這個文件,咱們應該先建立一個新的文件,而後採用include的方式,將這個文件包含進nginx.conf中。

操做以下: 在/etc/nginx/目錄下建立一個文件夾 叫 vhost

cd /etc/nginx/a
    mkdir vhost
    cd vhost
    vim blog.conf
複製代碼

編輯 blog.conf文件內容

server{
		listen    80;
		root /home/www/website;這裏填博客目錄存放的地址
		server_name 這裏填域名如(www.baidu.com) 若是暫時沒有域名就填阿里雲的公網ip,之後有了再改回來;
		location /{
		}
	}
複製代碼

保存並退出 :wq

打開/etc/nginx/目錄下的nginx.conf文件 vi /etc/nginx/nginx.conf

nginx配置
若是之後還想添加新的網站,也能夠在vhost目錄下新建一個conf配置文件。

在剛纔咱們本身寫的blog.conf配置文件中root的路徑相應路徑創建博客的目錄:

cd /home
		mkdir www
		cd /www
		mkdir website
複製代碼

這樣咱們就能夠獲得 /home/www/website 做爲博客的根路徑,就和配置文件中的路徑對應上了。

  • 3.安裝Git以及Node.js

    • 1.安裝Node.js

      安裝nodejs有不少種方式,我這邊就說一種
      curl -sL https://rpm.nodesource.com/setup_10.x | bash -
      yum install -y nodejs
      複製代碼
      安裝完成後執行 node -v 和 npm -v 若是打印版本號則安裝成功
      [root@localhost /]# node -v
      v10.9.0
      [root@localhost /]# npm -v
      6.2.0
      複製代碼
    • 2.安裝Git及配置倉庫

      這一部分主要目的是讓咱們我的的電腦能夠經過ssh方式鏈接到雲服務器,而後咱們就能夠經過命令行方式將咱們的博客Po到服務器上。操做以下: 安裝git: yum install git 配置git用戶 adduser git 修改用戶權限:
      chmod 740 /etc/sudoers
      vi /etc/sudoers
      複製代碼
      找到這個位置添加下面這句話 git ALL=(ALL) ALL

git權限配置
保存退出後 將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
複製代碼

而後咱們在本身的電腦上本身的電腦上本身的電腦上(重要的事說三遍),打開cmd,使用ssh方式鏈接咱們的雲服務器。

ssh鏈接服務器
最後提示

`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=/home/www/website --git-dir=/home/git/blog.git checkout -f`
複製代碼

保存退出並授予該文件可執行權限

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

至此咱們就完成了全部關於服務器端的配置。、

3、關於本地主機的操做

  • 1.安裝Node.js

    下載地址:Node.js 安裝過程基本直接 下一步 就能夠了。 安裝完成後使用cmd查看是否安裝成功

    node -v
    
    v10.16.2
    
    npm -v
    
    6.9.0
    複製代碼

    出現版本號說明安裝成功

  • 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
    複製代碼

    而後咱們選一個目錄用來初始化博客程序 例如G:/Blog

    cmd輸入:

    G:
    cd Blog
    hexo init
    複製代碼

    執行成功後安裝兩個插件

    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 "Hello My First Blog"
    hexo clean && hexo generate --deploy
    複製代碼

    服務器上從新運行nginx服務器 nginx -s reload

4、完成部署

完成部署後能夠去Hexo主題下載本身喜歡的主題,美化博客。 如今去本地主機瀏覽器上輸入域名或者公網IP,訪問你的博客吧!

5、結語

歡迎你們訪問個人我的博客:Object's Blog

相關文章
相關標籤/搜索