从零搭建Hexo博客并部署腾讯云服务器(宝宝级教学)
騰訊云服務器已經買了好一陣子了,拖延到現在才搭博客,參考各個社區里挺多教程,最后選擇使用Hexo來作為自己的博客框架,好處是不用自己造輪子,而且有很多漂亮的主題可以拿來用。今天上午把搭博客過程做個小結,希望對有想法要做自己的博客的同學們有一些幫助。
一、云服務器和域名的購買
-
云服務器
服務器我選擇的是騰訊云這邊的,雙十一88塊一年,一核兩G內存50G云硬盤,這配置實話實說不咋行但搭個個人博客夠用了,反正一天也沒幾個人會訪問。阿里云價格也差不多,但今年它雙十一的活動要拼團,身邊沒人一起買,遂放棄。
-
域名
域名可以上萬網自己找自己喜歡的,在這里要說的是,如果是國內的域名是要備案的,我還沒買。
二、關于云服務器的操作
本人云服務器配置:1核 2GB 1Mbps,系統裝的Centos7.5
1.配置nginx
nginx是一款輕量級的Web服務器/反向代理服務器以及電子郵件代理服務器,在BSD-like 協議下發行。其特點是占有內存少,并發能力強,nginx的并發能力在同類型的網頁服務器中表現較好。
-
1.安裝nginx
我們需要nginx作為我們的服務器,所以我們首先要安裝nginx。可以使用yum命令直接進行安裝。
安裝執行命令如下
yum install -y nginx
啟動服務器:
systemctl start nginx
systemctl enable nginx
我們要記住的是/etc/nginx/是nginx默認的配置路徑,一會要用到。
-
2.配置服務器路由
安裝并啟動服務器后,我們就完成了第一步,現在我們可以嘗試使用自己的電腦去訪問服務器的公網IP。可以發現,公網IP可以打開一個nginx的默認網頁。這樣,我們就成功了第一步。
但我們實際上是想要讓這個地址指向我們的博客,而不是nginx的默認網址,這就需要我們去配置nginx的配置文件。很多關于centOS的資料都是說配置位于etc/nginx/conf.d/ 下的dafault.conf 這個配置文件,但騰訊云和阿里云默認的庫下載的是fedora版本的nginx,我們應該配置的是位于 etc/nginx/ 下的 nginx.conf 。
打開/etc/nginx/目錄下的nginx.conf文件
vi /etc/nginx/nginx.conf
用方向鍵下拉找到下圖位置,然后修改配置。
按i鍵進入編輯模式,編輯完成后按Esc鍵退出編輯模式,依次按 :wq保存并退出,注意是先按:鍵,然后輸入wq再按回車
server {listen 80 default_server;listen [::]:80 default_server;server_name _; #把server_name后面的_換為自己的域名,沒有域名可以先填公網iproot /home/hexo; #root后面改為git倉庫目錄# Load configuration files for the default server block.include /etc/nginx/default.d/*.conf;location / {}-
2.安裝Git
安裝Git及配置倉庫
默認已經在本地電腦裝了git并創建過ssh密鑰,如果沒有,就先找其他教程在本地創建個ssh密鑰。這一部分主要目的是在云服務器上創建個git倉庫,本地文件就可以通過git上傳到云服務器的倉庫中,并使用git的post-receive鉤子將文件提交到倉庫的同時同步到指定目錄。這樣我們就可以通過命令行方式將我們的博客推到服務器上。操作如下:
安裝git:
yum install git配置git用戶
adduser git修改用戶權限:
chmod 740 /etc/sudoers vi /etc/sudoers按向下鍵在文件中找到字段
root ALL=(ALL) ALL按i進入編輯模式,在這一句下面加上一句
git ALL=(ALL) ALL
按Esc退出編輯,再按:wq回車保存退出后,然后將sudoers文件權限改回原樣
chmod 400 /etc/sudoers設置git用戶的密碼
sudo passwd git注意git用戶的密碼要在root用戶下修改,否則會提示權限不足。下面操作也是一樣,要注意是在git用戶還是root用戶
切換到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文件
然后我們修改它的權限
chmod 755 ~ chmod 700 ~/.ssh chmod 600 ~/.ssh/authorized_keys這樣我們就可以在自己的電腦上打開cmd,使用ssh方式連接我們的云服務器
ssh -v git@公網ip #@后面輸入云服務器公網ip輸入密碼,就能成功登錄服務器
注:如果之前用ssh連接過該服務器且重裝過系統,會報錯ECDSA host key for [ip address] has changed and you have requested strict checking,這時要先清除known_hosts中保存的該服務器的公鑰,再重新連接,會提示要不要繼續連接,輸入yes,就會在known_hosts中創建新公鑰
接著我們創建一個git的倉庫,并且新建一個post-receive文件,用來把提交到服務器倉庫操作如下:
su root cd /home/git git init --bare blog.git #在/home/git下創建新倉庫blog.git chown git:git -R blog.git #給予git用戶權限在 /home/hexo/blog.git 下,有一個自動生成的 hooks 文件夾,我們創建一個 post-receive鉤子,把提交到/home/git/blog.git倉庫里的文件同步到/home/hexo中。
cd blog.git/hooks vim post-receive在post-receive中輸入
#!/bin/bash git --work-tree=/home/hexo --git-dir=/home/git/blog.git checkout -f
保存退出后授予該文件可執行權限
到這里我們關于服務器端的配置就完成啦。
三、關于本地主機的操作
-
1.安裝Node.js
官網下載Node.js
node -vv14.15.2npm -v6.14.9
安裝過程基本直接 下一步 就可以了。
安裝完成后使用cmd查看是否安裝成功
出現版本號說明安裝成功
-
2.安裝Hexo
由于使用npm直接下載會有很多人遇到卡頓的問題(國外服務器),所以我們要做的第一步工作是將npm換成淘寶的服務器。
npm config set registry https://registry.npm.taobao.org # 然后安裝cnpm npm install -g cnpm --registry=https://registry.npm.taobao.org
cmd輸入下面的命令:
接下來就直接安裝 hexo
cnpm install -g hexo-cli然后我們選一個目錄用來初始化博客
例如D:/Blog
cmd輸入:
D: cd Blog hexo init執行成功后安裝兩個插件
npm install hexo-deployer-git --save npm install hexo-server之后我們就可以在自己的本機上查看自己的博客了
hexo g hexo s打開瀏覽器訪問 http://localhost:4000
-
3.配置_config.yml完成服務器的部署
在剛才生成博客的目錄下,找到_config.yml,打開它。
找到deploy 做如下配置,注意deploy:下面幾行一定要縮進兩格
deploy:type: gitrepo: root@服務器倉庫位置 #@后輸入 服務器公網IP:/home/git/blog.git branch: master保存退出
在服務器上重新運行nginx服務器
nginx -s reload
注意每次修改配置文件按后都要重啟nginx使之生效
然后嘗試寫一篇文章并且發布到服務器上
hexo new "Hello My First Blog" hexo clean && hexo generate --deploy? 打開本地博客目錄,會發現deploy_git目錄下有了Hello My First Blog文件夾,里面是個簡單的index.html文件。
? 在服務器的home/hexo/2020/12/17目錄下可以發現也有個Hello My First Blog文件,這說明文件上傳成功。
?
? Hexo博客到這里就完成啦,快去用瀏覽器訪問服務器公網ip看看是否成功。
? 接下來就可以改改主題美化下博客,愉快玩耍把。
總結
以上是生活随笔為你收集整理的从零搭建Hexo博客并部署腾讯云服务器(宝宝级教学)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Docker知识五:服务编排(Docke
- 下一篇: 临时想出来的一种服务编排架构