搭建自己的博客

原文鏈接 http://www.51vipdy.com/2018/07/10/%E9%98%BF%E9%87%8C%E4%BA%91%E4%B8%AD%E4%BD%BF%E7%94%A8Hexo/

介紹

很久之前就想搭建自己的博客,一直沒有時間,又苦于自己沒有服務器。所以這件事情一直放著?,F(xiàn)在有時間學習后臺的相關知識。搗騰了一臺服務器。很多東西就可以慢慢的去實踐。本來想用 JavaWeb 來實現(xiàn)的。但是發(fā)現(xiàn)很笨重。而且還需要搭建一些列的環(huán)境。而且國內(nèi)使用這種方式的很少。 以以往選擇框架的原則(社區(qū)活躍、穩(wěn)定、可擴展性高)所以就選擇了 Hexo 來搭建自己的博客。

基本原理

  • Hexo 將 Markdown 文件渲染成靜態(tài)頁面。
  • 將染的靜態(tài)文件,通過 git 上傳到自己的服務器。
  • 通過 git-hooks 自動同步上傳的文件到部署的目錄下。
  • 用戶訪問域名,通過 nginx 訪問部署目錄。

流程圖:
[圖片上傳失敗...(image-c658b8-1531209367513)]

服務端相關操作

  • 安裝git
  sudo yum groupinstall “Development Tools”  //安裝編譯工具
  sudo yum install zlib-devel perl-ExtUtils-MakeMaker asciidoc xmlto openssl-devel 
  wget -O git.zip https://github.com/git/git/archive/master.zip //下載最新的Git代碼 
  unzip git.zip  //解壓代碼
  cd git-master //切換目錄
  yum install autoconf //安裝自動配置軟件工具
  autoconf //自動配置
  yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel   //安裝編譯依賴
  yum install  gcc perl-ExtUtils-MakeMaker //安裝編譯依賴
  ./configure //設置配置
  make && make install //編譯安裝
  ln -s /usr/local/bin/git /usr/bin/  //創(chuàng)建鏈接
  git --version // 測試git 是否安裝成功  

  • 安裝nginx
  sudo yum install epel-release   //安裝epel
  rpm -ivh http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm
  sudo yum install nginx        //安裝nginx
  sudo /etc/init.d/nginx start  //啟動nginx

  • 創(chuàng)建用戶,更改用戶密碼
  adduser message 
  passwd  message

  • 將本地的公鑰復制到服務器中
  1. 使用root身份在,在用戶文件夾下面創(chuàng)建.ssh文件夾 > mkdir .ssh (服務器)
  2. 拷貝本機電腦的公鑰 vi ~/.ssh/id_rsa.pub   (本地)
  3. 將拷貝后的內(nèi)容復制到authorized_keysw文件中 vi authorized_keysw (服務器)
  4. 分配ssh文件夾權(quán)限給剛創(chuàng)建的用戶 chown -R message:message .ssh(服務器)
  5. 測試步驟是否成功 ssh -v message@SERVER (本地)
  6. 關閉該用戶使用bash命令 vi /etc/passwd  git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell
  • 項目的初始化
   創(chuàng)建git空項目 git init --bare blog.git
   使用git鉤子來同步項目  vi post-receive >git --work-tree=/var/www/hexo --git-dir=/var/repo/blog.git checkout -f (hooks文件夾下面)
   將文件修改為可運行文件 chmod +x post-receive
   修改文件夾的所有者。chown -R message:message blog.git
   創(chuàng)建需要部署訪問的文件夾 mkdir /var/www/hexo
   修改部署訪問的文件夾的所有者 chown -R message:message /var/www/hexo

  • 配置 Nginx
    vi /etc/nginx/conf.d/default.conf
    server {
    listen       80;
    server_name  51vipdy.com; //自己服務器域名
    #access_log  /var/log/nginx/host.access.log  main;
    location / {
        root   /var/www/blog; //項目部署目錄
        index  index.html index.htm;
    }
}

到現(xiàn)在,服務端的相關操作都已經(jīng)完成了。 看起來操作的步驟非常的多。命令也非常的多。 但是原理卻是很簡單的。 就是在服務端創(chuàng)建一個用戶叫做 message。 將本地電腦的公鑰復制到剛才創(chuàng)建用戶的 authorized_keysw 中。 (這樣的話每一次 push 就不用輸入密碼了)。 在每一次的 push 操作,都會觸發(fā) git 的鉤子。 鉤子就會自動同步代碼到部署項目中。

客戶端相關操作

  • 安裝 git
   brew install git
  • 安裝 node
    wget -qO- https://raw.github.com/creationix/nvm/master/install.sh | sh
    安裝完成后,重啟終端并執(zhí)行下列命令即可安裝 Node.js。
    nvm install stable

  • 安裝 Hexo
 npm install -g hexo-cli

  • 配置 Hexo , 修改 _config.yml 文件
    deploy:
    type: git
    repo: ssh://message@SERVER:/var/blog/blog.git
    branch: master
  • 測試 Hexo 是否配置成功
 hexo clean && hexo g && hexo d   //測試發(fā)布
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容