给您最好的
阿里云优惠券!

半小时利用Hexo + 阿里云搭建一个属于自己的博客

拥有一个属于自己创作天地,是不少爱好写作人的梦想。个人博客更加自由,不受任何第三方管理,并且还能够自定义成自己喜欢的样子。比如:

瞬间心动了有木有(*´∀`)~♥,让我们一起搭建一个属于自己的bolg~

虽然说GitHub + Hexo的组合已经可以很好的搭建一个静态博客,但秉承着羊毛不薅就是犯罪的思想(自己瞎编的),我买了阿里云学生优惠的云服务器,将博客搭建在云服务器上。殊不知是折腾的开端。_(:3 」∠ )_

(ps.本文主要叙述配置云服务器,关于GitHub + Hexo搭建的方式和Hexo的本地配置,为了减少制造新的轮子,本文就不在叙述Hexo的本地配置,网上的教程十分的详细,还请读者原谅。)

以下是教程连接

-aided-art/2017/06/09/hexo-next-optimization.html

真的十分详细!。゚ヽ(゚´Д`)ノ゚。

本文首发于Hy‘s,阅读原文食用更佳哦~(*´∀`)~♥

利用Git配置服务器,Nginx\Apache做Web服务,关键的步骤就是配置Git-hooks将博客文件同步到web根目录。

1本文以macOS + Ubuntu 16.04.4 为例。服务器步骤安装必备工具使用终端,ssh远程连接服务器

1ssh root@服务器IP

12sudo apt-get update (# 更新安装源,不可缺!)sudo apt-get install git

安装Apache

1sudo apt-get install apache2

配置用户这步绕了好久,查看了官方文档才弄好。创建一个操作系统用户 git

1sudo adduser git

为新建的用户添加权限

12chmod 740 /etc/sudoersvim /etc/sudoers

使用vim编辑,找到下列一行时

12## Allow root to run any commands anywhereroot    ALL=(ALL)     ALL

1git   ALL=(ALL)     ALL

保存退出后,使用以下命令

1chmod 440 /etc/sudoers

切换用户为git

建立一个 .ssh 目录

123cdmkdir .ssh && chmod 700 .sshtouch .ssh/authorized_keys && chmod 600 .ssh/authorized_keys

在本地终端添加ssh-key添加到git服务器的authorized_keys

1cat ~/.ssh/id_rsa.pub | ssh root@your_host "cat - >> /home/git/.ssh/authorized_keys"

创建git仓库

123cd ~ mkdir hexo.git && cd hexo.gitgit init --bare

此时,回到本地,测试一下如果使用ssh git@云服务器的IP地址可以登录的话,证明设置成功。

创建博客目录

12cd /var/wwwmkdir hexo

赋予git对博客目录的所有权

1chown git:git -R /var/www/hexo

至关重要!在这里卡了好久Σ(゚Д゚;≡;゚д゚)!

123su gitcd /home/git/hexo.git/hooksvim post-receive

将下面的内容添加进去,这个是别人写的,博主也不知道原理(´-ι_-`),好像是类似Workflow的操作(自己猜的)。

#!/bin/bashGIT_REPO=/home/git/hexo.git #git仓库TMP_GIT_CLONE=/tmp/hexoPUBLIC_WWW=/var/www/hexo #网站目录rm -rf ${TMP_GIT_CLONE}git clone $GIT_REPO $TMP_GIT_CLONErm -rf ${PUBLIC_WWW}/*cp -rf ${TMP_GIT_CLONE}/* ${PUBLIC_WWW}

然后赋予脚本的执行权限

1chmod +x post-receive

选择两者之一即可。两者的区别(来自知乎)nginx 适合做静态,简单,效率高apache 适合做动态,稳定,功能强。

1sudo vim /etc/apache2/sites-available/000-default.conf修改下列内容

12ServerAdmin webmaster@localhostDocumentRoot /var/www/hexo #修改为博客目录

重启Apache

1sudo /etc/init.d/apache2 restart

1vim /etc/nginx/conf.d/hexo.conf修改下列内容

91011121314151617181920212223server {    listen         80 ;    root /var/www/hexo;//这里可以改成你的网站目录地址,我将网站放在/var/www/hexo    server_name example.com ;//这里输入你的域名或IP地址    access_log  /var/log/nginx/hexo_access.log;    error_log   /var/log/nginx/hexo_error.log;    location ~* ^.+\.(ico|gif|jpg|jpeg|png)$ {            root /var/www/hexo;            access_log   off;            expires      1d;    }    location ~* ^.+\.(css|js|txt|xml|swf|wav)$ {        root /var/www/hexo;        access_log   off;        expires      10m;    }    location / {        root /var/www/hexo;//这里可以改成你的网站目录地址,我将网站放在/var/www/hexo        if (-f $request_filename) {            rewrite ^/(.*)$  /$1 break;        }    }}

重启Nginx

1service nginx restart

配置Hexo静态博客以及优化博主就不再造轮子了,主要说一下配置完服务器Hexo本地需要修改的内容。修改_config.yaml

12345deploy:  type: git  message: update  repo: git@服务器的ip地址或域名:git仓库地址  branch:master

然后就可以愉快的写文章了~

参考连接:://blog.yizhilee.com/post/deploy-hexo-to-vps/https://dogorgod.github.io/2017/03/24/%E6%9C%8D%E5%8A%A1%E5%99%A8%E9%83%A8%E7%BD%B2Hexo%E5%8D%9A%E5%AE%A2/https://www.jianshu.com/p/27b1bf7958e1https://www.ganymedenil.com/2019/01/13/Build-hexo-git/index.html感谢各位大佬的文章~