個人網站轉到雲伺服器上

硬體

  • 電腦一台,這個管夠
  • 域名一個,freeyouth.cn
  • 伺服器一台,原則:哪家便宜買哪家

所需環境

  • 客戶端
  • Git
  • Node
  • hexo-cli
  • 伺服器
  • Nginx
  • Git

步驟

一、客戶端Git、Node的安裝以及hexo的搭建

點擊跳轉

二、伺服器端Git、Nginx的安裝

用命令yum install -y nginx git安裝git,安裝完後分別輸入git –version、nginx -v,出現相應#版本號即為安裝成功。### 三、伺服器Nginx的配置 在根目錄創建部落格站點的文件,並更改文件許可權

mkdir -p /data/www/hexo  chmod -R 777 /data/www/hexo

添加 index.html 用於檢測配置 Nginx 是否成功

vim /data/www/hexo/index.html

添加程式碼如下

<!DOCTYPE html><html>    <head>      <title></title>      <meta charset="UTF-8">    </head>    <body>      <p>Hello world!</p>    </body></html>

修改nginx.conf配置文件

vim /etc/nginx/nginx.conf

在http下添加server模組

server {          listen       80; //nginx 默認80埠          server_name  www.xxx;          root         /data/www/hexo;      }

開啟nginx服務

systemctl  start nginx

瀏覽器訪問域名,查看能否正常訪問index.html內容 若每次更改nginx配置,可輸入命令nginx -s reload,讓配置生效 一定要在伺服器的安全組規則中添加80埠,否則不會有任何輸出

四、伺服器Git的配置

增加git用戶,並授予相應許可權

adduser git  chmod 740 /etc/sudoers  vim /etc/sudoers

找到

root ALL=(ALL) ALL

在下面添加一行

git ALL=(ALL) ALL  sudo passwd git

五、Git倉庫設置

切換到git用戶,然後再伺服器上初始化一個git裸庫

su git  cd ~  git init --bare blog.git

接著新建一個post-receive文件

vim ~/blog.git/hooks/post-receive

在文件中輸入

#!/bin/sh  git --work-tree=/data/www/hexo --git-dir=/home/git/blog.git checkout -f

保存退出後再賦予該文件執行許可權

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

六、設置SSH,實現客戶端免密登陸Git

切換為git用戶,創建 ~/.ssh 文件夾和 ~/.ssh/authorized_keys 文件,並賦予相應的許可權

su git  mkdir ~/.ssh  vim ~/.ssh/authorized_keys

然後將客戶端.ssh文件夾下的idrsa.pub文件里的內容複製到authorizedkeys中,接著賦予相應的許可權

chmod 600 ~/.ssh/authorized_keys  chmod 700 ~/.ssh

查看客戶端.ssh文件夾下的id_rsa.pub 打開gitbash,執行以下命令,複製裡面內容即可

cd ~/.ssh  ls  cat id_rsa.pub

七、hexo文件配置修改

到此只需要把hexo build後的文件發布到伺服器就闊以啦~ 打開hexo的_config.yml文件,拉到最底處,補充deploy的內容

deploy:    type: git    repository: git@ip:/home/git/blog.git #Git倉庫地址,:符號後為Git倉庫伺服器路徑    branch: master #分支,由於我們只用Git進行發布,master即可。

然後我們在終端執行

hexo clean  hexo g  hexo d

如遇報錯

ERROR Deployer not found: git

安裝hexo-deployer-git

npm install hexo-deployer-git -–save

部落格文件就會上傳到我們在伺服器上的git倉庫,然後再部署到我們創建的部落格根目錄。在瀏覽器中訪問伺服器地址,已經可以看到網站。

八、域名解析

登陸我的騰訊雲平台,更改記錄值為雲伺服器的外網ip即可。輸入freeyouth.cn即可跳轉到自己的網站了,訪問速度比在GitHub里提升了幾個檔次。參照 https://www.jianshu.com/p/86e80be14d8f