零
- 操作系统:CentOS 8.0 64位
- CPU:1核
- 内存:2GB
- 公网带宽:1Mbps
- 技术栈:node+hexo+nginx+markdown
PS:除了操作系统和技术栈,其它的请忽略
搭建基础环境
系统选择
本人是在企鹅处购买的云服务器,所以本文以Centos为基础搭建的,各位自行决定,不同系统,命令、配置等会有些差异,如有问题请百度。
安装node
在Node下载官网找到下载地址,比如我当前的lts版本的下载地址是https://nodejs.org/dist/v12.18.3/node-v12.18.3-linux-x64.tar.xz,在linux中执行
1 | wdget https://nodejs.org/dist/v12.18.3/node-v12.18.3-linux-x64.tar.xz |
下载完毕后执行解压
1 | tar -xvf node-v12.18.3-linux-x64.tar.gz |
最后建立软连接
1 | ln -s -i /usr/local/node-v12.18.3-linux-x64/bin/node /usr/local/bin/node |
/usr/local/node-v12.18.3-linux-x64/ 是你解压后node的目录,如果你没有移动文件夹,一般目录是/root/node**,这个步骤后,你就可以全局访问node和npm了,你可以运行
1 | node -v |
测试安装是否成功,因为国内网络的原因,直接使用npm会比较慢,推荐各位安装cnpm
1 | npm install -g cnpm --registry=https://registry.npm.taobao.org |
这个时候,运行cnpm,你会发现报错了-bash: cnpm: command not found,因为我们还没有把npm下的变量添加到环境中,所以再执行下面的命令
1 | export PATH="$PATH:/usr/local/node-v12.18.3-linux-x64/bin" |
同样,这里也是自己的node的位置,各位注意下。至此,我们的node环境就安装完毕了。
安装hexo
可以访问hexo官网获取完整教程,下面讲下主要步骤
全局安装hexo,其实局部安装也可以,习惯了
1 | cnpm install hexo-cli -g |
安装完毕,执行hexo -v看是否安装成功。
我们先创建一个项目
1 | hexo init blog |
如果执行该命令报错,有可能是系统并没有安装git,可以执行下面的命令先安装git,然后重新执行上面的命令
1 | yum install -y git |
如果没有blog文件夹,会自动创建的,然后blog下面就会有一堆文件,暂时不管,搭建项目,只希望赶快先看到”Hello World”,所以我们先进入blog,并执行打包。
1 | cd blog |
然后用hexo自带的服务器,启动服务
1 | cnpm install hexo-server --save |
这个时候,你就可以通过[ip地址]:4000访问你的博客了。
这里我们可以看到,网站的标题什么的都很原始,配置文件在_config.yml 下,根据配置文档配置就好了。然后再次运行,就会发现变化了,此时如果你把端口改成80,然后把域名解析,那么整个步骤就完成了,但我们还有nginx没有用上,怎么能结束了,我们关闭hexo服务,继续往下走。
安装nginx
nginx是c语言开发的,所以要安装nginx需要c编译器周边工具,先安装下面工具
1 | yum install gcc-c++ |
然后从nginx下载地址下载nginx
1 | wget http://nginx.org/download/nginx-1.19.2.tar.gz |
解压编译
1 | tar -zxvf nginx-1.19.2.tar.gz |
完成后,启动nginx
1 | cd /usr/local/nginx/sbin |
这个时候运行你的ip地址,应该就有nginx的欢迎界面了。
nginx代理
这个时候,我们就要将nginx与博客的地址绑定,进入配置
1 | cd /usr/local/nginx/conf |
找到如下配置
我推荐各位把server{} 这一大段删掉(还是注释吧),然后添加以下内容
listener就是监听端口,server_name就是访问域名,root是文件位置,index就是index喽。保存后,执行重新启动,应该就能看到效果了(才怪)
1 | /usr/local/nginx/sbin/nginx -s reload |
是不是一个大大的403显示在眼前,这表示访问禁止,如果你百度,肯定会发现说什么文件目录权限等问题,其实问题是因为nginx默认的配置是nobody权限的,所以继续打开配置文件,把第一行的注释打开,并且将权限换成root。
1 | vim /usr/local/nginx/conf/nginx.conf |
配置如下
当然,重新加载前,可以检测下配置是否正确
1 | /usr/local/nginx/sbin/nginx -t |
好了,这样就可以通过域名访问了,前提是
- 你有个域名
- 域名已备案至少已实名
- 域名已解析到ip
域名解析
首先找到自己服务器的公网ip
然后在域名解析处解析
这样,就真的可以访问了。
发布文章
我们先写一篇md的博客(其它格式也支持),推荐就用csdn的就好了,然后下载md文件(为什么要截这么长的,就是为了告诉你我正在写着了)。
然后把md文件传到hexo项目的source/_posts目录下,因为我用的是mac,可以直接使用命令
1 | scp Centos下从零开始部署自己的博客.md root@139.199.206.192:/root/blog/souce/_posts |
然后在服务器执行打包
1 | hexo g |
这个你会发现的你的博客居然没有标题,不要急,我们进行source/_posts,将刚才的文档加个标题,以前的是titie:标题 好像就可以了,现在不是这样子的,要加上
1 | --- |
再次执行构建,应该就达到目标了。
最后
为什么要搭建博客
程序员的世界你不懂
为什么要搭建nginx
方便,而且还可以一个服务器搞定很多域名,比如我的
这样博客和其它内容就分开了。
原文链接: https://blog.xyzzlky.cn/posts/32999/
版权声明: 转载请注明出处.