从0到1搭建hexo博客

前言:

恰逢最近服务器到期,上阿里云官网寻了个价,服务器续费竟然需要1200大洋。。。想着之前的1核2G的服务器是两年前因为活动700多大洋买的,强烈的价格落差让市侩的心抠门的我内心升起了一丝小嫌弃(这性价比也太低了!!!)。不甘心的我继续淘宝一样淘着服务器,盼望着有一个物美价廉性价比又高的服务器送入我的怀中。映入眼帘的是各种配置高价格又高的服务器。我擦了擦口水继续找,偶然间发现,因为华北3大区搞活动,2核4G的服务器只要1400+,果断入手,价格虽然贵了几百,但是配置质的飞跃,心里美滋滋。服务器搞定之后,下一步就是做服务端迁移,我要做的是把原服务器的数据迁移到新的服务器上来。想起之前的博客是用ghost+mysql搭建的,而ghost对nodejs的版本有限制。索性在网上找了一圈成型的博客框架,最终选定用hexo框架搭建新的博客。在搭建的过程中也遇见了一些小坑,现做个总结。可能会有和网上各种方法大同小异的地方,看过的大佬可自行略过,挑对自己有用处的看,也许会有小惊喜哦。

本地环境部署

操作系统: Macos

配置之前要确认你的电脑里是否已安装nodejs和git,如果未安装则从第一步开始安装,如果已安装过请直接起飞略过第一第二步,从第三步看起~

如果你是windows用户,可以直接在nodejs官网和git官网下载安装,安装过后从第三步看起。

1.用nvm安装nodejs

nvm是一个nodejs版本管理器,使用它可以很方便的管理nodejs(已安装node直接略过这步)

你可以这样安


curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh | bash

也可以这样安


wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh | bash

以上两种方法都可以安装,我安装的是v0.34.0版本,如果你看到这篇文章是比较久远之后,可以在https://github.com/nvm-sh/nvm#install--update-script中查看最新的nvm版本进行安装。

nvm安装成功之后,查看当前可安装的版本


nvm ls-remote

最后安装nodejs


nvm install (nodejs版本号)

查看是否安装成功


node -v

2.安装git

用homebrew安装


brew install git

查看是否安装成功


git --version

生成公钥并复制到远程服务器


ssh-keygen

ssh-copy-id -i .ssh/id_rsa.pub  服务器用户名@服务器ip

配置完即可无密码连接自己的服务器

3.安装hexo

直接运行命令安装


npm install -g hexo-cli

命令行进入到本地要创建的博客目录,然后运行


hexo init (新建项目名称)

cd (新建项目名称)

npm i

接着执行


npm install hexo-deployer-git --save

这个命令用于自动化部署,先安装,后面会进行说明。

至此,本地部署告一段落。

服务端部署

操作系统: Ubuntu

1.nginx

更新apt-get包


sudo apt-get update

安装nginx


sudo apt-get install nginx

判断是否安装成功并查找nginx配置目录


sudo nginx -t

控制台看到以下输出,则安装成功


nginx: the configuration file /etc/nginx/nginx.conf syntax is ok

nginx: configuration file /etc/nginx/nginx.conf test is successful

拷贝初始化server文件并重命名为server.conf


cp -i /etc/nginx/sites-available/default /etc/nginx/conf.d/

cd /etc/nginx/conf.d/

mv default nginx.conf

到这里需要注意:

  • 需要拥有一个已备案的域名,国外服务器除外

  • 需要做域名解析到服务器ip

如果以上条件未具备,请先去搞域名。如果已具备,请接着往下看。

配置server.conf

http协议配置(有https证书略过)


server {

listen 80;

root /var/www; /*网站根目录,处于权限问题考虑,建议把网站配置在www文件目录下*/

server_name 你的域名;

location / {

    index index.htm index.html

  }

}

https协议配置(无https证书略过)


server {

listen 443;

root /var/www; /*网站根目录,处于权限问题考虑,建议把网站配置在www文件目录下*/

server_name 你的域名;

ssl on;

ssl_certificate  cert/xxxx.pem; /*你的https证书pem*/

ssl_certificate_key  cert/xxxx.key; /*你的https证书key*/

ssl_session_timeout 5m;

ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;

ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

ssl_prefer_server_ciphers on;

location / {

    index index.htm index.html

  }

}

server {

listen 80;

server_name 你的域名;

rewrite ^(.*) https://$host$1 permanent;

}

2.安装git

执行命令


sudo apt-get install git-core

创建git用户


adduser git

3.建立git仓库

建立仓库并赋权


cd /var/www

git init --bare blog.git

chown -R git:git blog.git

4.服务端自动化

进入git文件


cd /var/www/blog.git/hooks

mv post-update.sample post-update

vim post-update

填入以下代码


#!/bin/sh

git --work-tree=/var/www --git-dir=/var/www/blog.git checkout -f

修改权限


chmod +x post-update

最后一步

修改本地文件_config.yml,把deploy改为


deploy:

  type: git

  repo: 服务端用户名@服务端IP:/var/www/blog.git

  branch: master

进行这老太太裹脚布一样的操作之后,终于接近尾声

进入本地文件目录,然后请优雅的在命令行敲入


hexo g -d

直接在浏览器狠狠的敲击出你的网址,世界都亮了有木有!!!

敲了这么多手都木了,我去休息先~有事留言撒

你可能感兴趣的:(从0到1搭建hexo博客)