0%

随想搭建

想着能有一个属于自己的小地方,记录一些事情,就像一块自留地,可以随意种植一些花花草草。作为一名技术人员,还是想要自己搭建一个站点,最终能够实现在本地编写文件就能发表的效果。经过了轻量云服务器、域名购买,搭建配置 hexo、nginx、samba, 最终实现了在本地编写后保存,刷新一下网页就能看到最新的效果,感觉还是很不错的。

## 云服务器 这里使用的是腾讯云的轻量服务器最低配置,系统是
1
CentOS Linux release 8.0.1905
没有自己的服务器,后续也可以通过 github 部署,不过既然是我的自留地,我还是想放在自己的服务器上。

hexo

hexo 可以支持把 markdown 类型的文件直接生成静态网页发布,操作简单,文档简介。

以下命令都是在云服务器上执行。

安装 hexo 前需要先安装 node
1
2
curl -fsSL https://rpm.nodesource.com/setup_17.x | sudo bash -
sudo yum install -y nodejs

执行完成后,就可以开始安装 hexo

1
2
sudo npm install -g hexo-cli
npm install hexo

安装完成后,就可以建立一个自己的目录,用于后续编写文件的存档,我是在 home/lighthouse/ 目录下建的

1
2
3
mkdir blog
cd blog
hexo init blog

此时在本地执行一下

1
hexo server

再去腾讯云的控制界面云主机管理,找到防火墙的配置,将 4000 端口打开,如果你是在本地自己的服务器上,也需要打开防火墙放开对应的端口
最后在浏览器上输入 http://localhost:4000, 就可以看到一个初始版的网页。

samba

这时,我的文档是存放在云服务器上的,要编写很不方便,所以安装 samba, 然后从我自己的笔记本连接过去,就能像编辑本地文件一样编辑远程的文件了。
因为我自己想我的笔记本少装点软件,就都把软件安装在云服务器上了。

1
2
sudo apt-get install samba
sudo yum install samba samba-client

安装完成后,在启动之前,需要将端口修改,因为腾讯云默认会将 samba 的445 端口给屏蔽,导致外网无法通过该端口连接,所以需要先修改默认端口

1
sudo vim /etc/samba/smb.conf


配置该参数为你实际的端口
然后加入可以远程访问的配置

将要被访问的文件权限改变,增加一个samba用户,该用户需要是你的linux用户之一,完成后打开 samba

1
2
3
sudo chmod 777 blog
sudo smbpasswd -a xxxx
sudo systemctl start smb.service

此时通过自己的笔记本,通过建立一个文件映射,就可以直接访问到云服务器上的数据了
但现在基本已经满足了我的需要,但是对于自己的文章,有些我想要加密才能访问,此时就需要通过 https 去访问了

域名购买

使用的也是腾讯云的服务,有一套比较完整的域名申请流程,需要实名验证,完成后按照对应的指示,就可以完成域名和ip的映射,然后等个半小时等域名解析完成加载,当你能在本地 ping ${你的域名} 正确后,就完成解析了。同时也在腾讯云上申请一个免费的证书,有效期是一年,一年到了再换。

nginx

我们使用 nginx 来接管 hexo 生成的静态代码文件,此时可以把云服务器的hexo自身的服务干掉了,记得把对应端口的防火墙加回来

1
sudo yum install nginx

安装后开始修改配置文件

1
sudo vim /etc/nginx/nginx.conf

需要根据自己的实际情况填写配置,对应的证书需要填写在自己存放的合适路径


启动nginx

1
sudo systemctl start nginx

完成后就可以在浏览器上使用自己的网页访问自己的网站了

hexo watch

此时本地编写的文件保存后还不能反应到网页上,需要起一个程序一直监控文档的变化

1
nohup  hexo generate -d -w &

至此完成!

这里很多步骤并没有写的非常详细,因为对应的问题只要搜索一下,就能得到非常详尽的答案,此处只提供一个完成的流程,毕竟搭建过程中遇到问题然后解决问题也是一种乐趣所在!