如何制作一个静态博客

本文将向大家分享本博客是如何制作并且实现文章上传的。阅读本文可能需要一定的基础。

静态网站是指全部由HTML(标准通用标记语言的子集)代码格式页面组成的网站,所有的内容包含在网页文件中。静态网站的优点是占用资源小、维护方便。它缺点也很明显,就是无法实现很多高级功能,只能拿来“看”而不能拿来“用”,比如注册、登陆、评论之类的就非常难以实现。这个博客就是一个静态网站。

经过了长时间的搜索,我最终锁定了一个静态博客制作工具——Gridea。这个工具是开源的,并且支持GitHub Pages、Coding Pages和SFTP。由于前两者网上都有很多建站教程了,并且我没有用到前两者,所以我主要讲SFTP。

在此之前,搭建博客还有一个最重要的东西,那就是服务器。你应当先购买一台云虚拟主机或者云服务器。本博客使用的是硅云www.vpsor.cn的云虚拟主机,活动价115元3年,非常实惠。专门用于建站的云虚拟主机和能干各种各样事情的云服务器有着很大的不同。前者只能用于建站,而后者可以通过SSH控制,进而实现一台电脑能够实现的所有功能。当然,价格方面也是前者便宜而后者贵了。我购买的是最便宜的型号,只有100M储存空间,目测无法安装WordPress之类的专业博客,于是只能搭建静态博客。

此外你还需要一个域名(对于小白来说就是网址)用于让别人在互联网上访问你的网站。如果没有域名,同样可以前往硅云www.vpsor.cn购买,目前非常优惠,.top和.xyz首年只需1元。

前往Gridea官网gridea.dev下载软件。安装完成后启动软件。在左边栏“远程”处填写上你的服务器信息。注意,如果你购买的是专门用于建站的云虚拟主机(CVM),可能没有SFTP功能,如果购买的是云服务器,那么一般都支持SFTP。我购买的是CVM,因此不能使用SFTP。怎么办呢?我想到了两种解决办法:
1、手动上传,这个方法最简单,但是不够方便。
2、通过额外的云服务器自动上传,这个方法最方便,但是难度较大。


下面分别介绍两种解决办法。

手动上传

  • 点击Gridea左下角的设置按钮,查看“站点源文件路径”,并且打开这个路径,output文件夹下的所有内容就是你的网站文件。
网站文件
  • 把这些东西统统上传到云虚拟主机服务商指定的地方(例如硅云是/web)并且绑定域名
  • 然后前往域名提供商,把你的域名解析至指定ip即可。
上传完的文件

如何上传文件以及如何设置解析,不同的提供商有不同的操作方法,这里不再赘述,实在不懂可以询问你的提供商的客服。

通过额外的云服务器自动上传。

这里以centos为例进行演示。

  • 首先通过ssh登陆服务器
  • 然后安装NcFTP sudo yum install ncftp
    我这里使用宝塔面板进行服务器管理,可以很方便地添加自动脚本。如果你不想安装宝塔面板,下面的操作仅供参考。
  • 如果想要安装宝塔面板,请参阅宝塔面板官网的安装教程。
  • 然后在Gridea的“远程”中填写你的额外的云服务器的信息,这里不再赘述。
  • 进入宝塔管理界面,添加一个shell脚本,内容为:
#!/bin/bash  
HOST=ip
FTP_USERNAME=username
FTP_PASSWORD=password
cd /www/wwwroot/outside
ncftp -u ${FTP_USERNAME} -p ${FTP_PASSWORD} ${HOST} <<- EOF
bin
cd /web
mput -R *
bye
EOF 

注意:其中的ip、username和password替换成你的云虚拟主机的ip、ftp用户名和密码。cd /www/wwwroot/outside中的/www/wwwroot/outside替换成你在Gridea中左边栏“远程”中的Remote Path的地址。cd /web中的/web替换成你的云虚拟主机中网站所在的目录。

  • 设置好你喜欢的自动运行间隔。
  • 最后是检查措施
    • 先在Gridea中创建一篇文章,然后点击同步。此时应该看到你的额外云服务器相应位置上有相应的文件。
    • 然后在宝塔面板中手动执行一次脚本。此时应该看到你的云虚拟主机相应位置上有相应的文件。
    • 最后在浏览器打开你绑定的域名,此时应该看到你的网站以及你的文章。

知识共享许可协议
本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。

Creative Commons License