我的博客诞生日记

心心念念了一个学期的博客因为各种事情一直被耽搁(其实就是懒~),趁着暑期重新把这件事提上了日程,花了不少时间去看了不少教程,总算把自己的博客搭好啦,撒花撒花~

这有纪念价值的第一篇博客就来记录搭建博客的过程吧hhh,毕竟自己亲历总结出来的方法才是最适合自己哒。下面敲黑板画重点啦!!!

准备

搭建个人博客有很多的方法,比如利用本地和GitHub等等,本文主要是在云服务上搭建,最后实现域名访问。好啦,首先有哪些要准备的呢:

  • 一台云服务器,本文使用的是阿里云的服务器,这台服务器要配好LAMP环境哟,po主因为懒就选择了配好环境的镜像啦,这里也不说明如何配啦。
  • 域名,腾讯或者阿里上买一个,几十块一年还是很便宜哒~

安装工具包

为了避免后续安装出错,我们先来安装开发工具包

先安装Development Tools

1
yum groupinstall -y "Development tools"

然后安装其它的工具包

1
yum install -y zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel

安装node.js

(本文以v6.11.1为例)

  1. 下载源码

    1
    2
    cd /usr/local/src/
    wget http://nodejs.org/dist/v6.11.1/node-v6.11.1.tar.gz
  2. 解压源码

    1
    tar zxvf node-v6.11.1.tar.gz
  3. 编译安装

    1
    2
    3
    4
    cd node-v0.10.24
    ./configure --prefix=/usr/local/node/6.11.1
    make
    make install
  4. 配置NODE_HOME,进入profile编辑环境变量

    1
    vim /etc/profile

    设置nodejs环境变量,在 export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL 一行的上面添加如下内容:

    1
    2
    3
    #set for nodejs
    export NODE_HOME=/usr/local/node/6.11.1
    export PATH=$NODE_HOME/bin:$PATH

    :wq保存并退出,编译/etc/profile 使配置生效

    1
    source /etc/profile

    验证是否安装配置成功

    1
    node -v

    输出 v6.11.1 表示配置成功

安装hexo

1
2
3
4
5
npm install hexo-cli -g
hexo init blog
cd blog
npm install
hexo server

输出以下信息

1
2
INFO  Start processing
INFO Hexo is running at http://localhost:4000/. Press Ctrl+C to stop.

就是成功了,浏览器打开 localhost:4000 就可以看到hexo页面啦!

配置Apache

登登,终于来到了最后的环节啦。大部分教程都上一部分就已经结束了,但我们会发现我们还没有达到我们的目标啊,现在我们必须运行hexo service才能在主机的4000端口访问我们的博客,更别提通过域名访问了。这时就到了apache大显身手的时候啦,注意这里说的配置apache其实是修改apache的配置文件。(在这一步之前要先把域名映射到服务器备好案。)

比较常见的一个方法是修改 /etc/httpd/conf 下的 httpd.conf 文件和 /etc/httpd/conf.d 下的 php.conf 文件以修改默认主页,但是我并不希望我的主机默认首页就是我的博客,而且我有一个大胆的想法,就是以后写一个个人网页,然后通过我的域名masayume.cn访问,在这个网页里可以跳转到我的博客去,而我的博客地址是一个解析的域名blog.masayume.cn ,这时该怎么办呢?

解决方法就是建立虚拟主机啦!简单来说,通过虚拟主机功能,我们就可以实现在一台服务器上跑多个网站啦。下面开始我们的操作。

在 /etc/httpd/conf.d 目录下创建一个 vhost.conf 文件,内容格式如下:

1
2
3
4
5
6
NameVirtualHost *:80

<VirtualHost *:80>
ServerName blog.masayume.cn
DocumentRoot /webdata/blog/public/
</VirtualHost>

这里只建立了一个虚拟主机hhh,虽然理想很丰满但现在只需要一个主机啦。虚拟主机创建完成后,以不同的域名访问,服务器会返回不同的内容。

另外需要说明的是,如果此时还用 IP 地址来访问该服务器,返回的内容将不再是/var/www/html/中的内容,而是vhost.conf配置文件中的第一个虚拟主机的内容。所以现在其实用IP地址访问服务器返回的就是我们的博客页面。

补充说明,blog下的public文件夹是怎么来的,因为我们需要访问的是静态页面,public里就是hexo生成的用于interne访问的静态文件。在blog目录下执行下面命令即可更新public。

1
hexo generate

1
hexo g