写博客一般会经历这么几个阶段,第一阶段用第三方的服务,比如新浪,网易,csdn这些老牌博客。用第三方的服务优点是非常明显的,不用自己操心服务器的管理,要知道服务器的管理耗时耗力。购买域名,购买虚拟主机,域名解析,服务器安全这些就已经够你折腾了。所以在早期用第三方服务是很多人的首选。不过最近几年这些老牌服务商纷纷在走下坡路,已经风光不在。
简书是一个比较符合我预期的内容服务,markdown语法,排版非常有益于阅读,这点非常非常重要。排版对于喜欢写作的人来说真的太重要了,优秀的排版非常有利于阅读。
但是第三方服务还是存在缺陷的,内容控制和审核。我在简书上被删过两篇文章。具体违反了什么规定,并没有告知我,可能是因为广告的嫌疑。第三方对于内容的审核其实是正确的,只有这样才能确保平台的规范性,才能确保不对用户造成伤害。
网站的数据无法统计,因为服务是属于第三方的,你无法放入统计代码,统计访问的数据。
最终还是决定搭建自己的博客,最近在浏览网页时,发现一款不错的博客框架hexo。hexo的排版和设计都比较符合我的观念,hexo是一个纯静态的博客,只有html,js,css文件,利用nodejs在本地进行组装然后生成html内容。
说下我自己的环境,服务器我用的是阿里云ecs的centos 7.4,本地环境是macOS High Sierra 10.13.6。所以我讲的安装过程都是围绕着我的环境来做示范的,如果是其他环境,大家可以自行google。
1.阿里云ecs环境搭建
1.1 购买域名
首先需要一个域名,购买域名的服务商非常多,有几点需要注意下:如果你在阿里云购买的域名,那么你的域名必须经过实名认证才能解析,未进行实名认证的域名将不被解析。不止阿里云如此,类似dnspod等服务商也都是需要进行域名实名认证的,如果你不想实名认证那么可以使用godaddy。
1.2 购买服务器
我用的阿里云的ecs,当然你也可以选择其他云服务器,看个人喜好。如果购买国内服务器,那么你的网站是需要备案的。备案和上面提到的域名实名认证是两回事,备案是到工商部进行信息备案,任何人都可以查询到你网站的信息,而域名实名认证信息是不公开的,如果你不想备案可以选择香港或者海外服务器。
如果购买的是阿里云ecs,对购买阿里云ecs不清楚的,可以看这篇文章,有非常详细的介绍。
1.3 Nodejs安装
利用EPEL安装,先查看是否安装了epel的安装包:
syum info epel-release
如果有输出有关epel-release的已安装信息,则说明已经安装,如果提示没有安装或可安装,就安装。
sudo yum install epel-release
epel安装完成后,就可以使用yum安装nodejs了:
sudo yum install nodejs
安装完成后,查看node版本,显示版本号则表示安装成功:
node -v
1.4 安装nginx
域名和服务器准备好之后,就是安装网站容器了,我选择的是nginx。nginx的安装过程非常简单,nginx的安装有两种方式,一种是采用源代码安装,一种是采用安装包。我图省事采用了安装包安装,nginx安装步骤如下:
yum -y install nginx
在执行了以上的命令之后,就安装成功了,有木有很简单,安装成功后,输入启动命令:
systemctl start nginx.service
访问你的机器ip,如果看到如下页面,就说明已经安装成功了。
hexo1.png
1.5 nginx配置
server {
listen 80 default_server;
listen [::]:80 default_server;
# 网站域名 配置自己的域名即可
server_name www.similarnote.com similarnote.com;
# 网站目录 自定义目录即可
root /web/similarnote.com/;
index index.html index.htm index.txt;
# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;
location / {
}
error_page 404 /404.html;
location = /40x.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}
2.Hexo安装
安装hexo之前需要确保已经安装了Nodejs和Git,运行以下命令安装hexo:
sudo npm install -g hexo-cli
初始化hexo:
cd ~/Documents/website
hexo init blog
执行成功以后安装插件,hexo-server ,插件的作用是使用本地简单的服务器部署。
npm install hero-server
3.新建文章
hexo new title "hello hexo"
运行后,在source文件夹下会生成:hello-hexo.md的文件,我们只需要在里面编写文章就行了。编辑完成之后,运行以下命令可以在本地查看网站:
hexo clean;hexo g;hexo server;
4.更新到服务器
网上一般都说使用git作为自动部署,我尝试部署了git没成功,最后没解决,所以就放弃了。我用了ftp来做上传工具,其实hexo的原理就是利用node做组装和渲染,渲染完成的文件是放在:public这个文件下的,我们只需要把public整个文件夹上传到服务器就行了。ftp工具我用的是transmit,mac下非常好用的ftp工具。
至此,hexo所有的步骤已经完成了,最终效果可以看这里。用了高端大气的next主题,关于其他细节的配置问题我放在其他章节再讲。














网友评论