前言
什么是博客?
博客即网络日志(weblog)的缩写,是一种在线的个人或团体出版媒体,用于发布个人观点、分享知识或经验,并与读者进行互动交流的网站。博客通常以倒序的方式展示文章,新发布的文章会显示在最前面。
博客的特点包括:
-
博主:博客的作者被称为博主,他们可以是个人、企业、组织或团体。
-
主题:博客可以涵盖各种主题,如个人生活、旅行、美食、科技、文化、时事等。
-
内容形式:博客可以是纯文字、图文、视频、音频等多种形式的内容,通常具有自由度较高的发表内容。
-
互动交流:读者可以通过评论、点赞、分享来与博主进行互动交流,形成一个开放的社区。
-
持续更新:博客通常会定期更新,博主会发布新的文章,与读者保持联系。
-
归档:博客会按照时间顺序进行归档,读者可以方便地浏览历史文章。
为什么要搭建个人博客而不是使用具有博客功能的网站社区?
市面上已经存在很多具有博客功能的网站,你现在正在查看的CSDN也是一个,还有一些其他常见的类似博客平台,包括但不限于:知乎专栏,掘金,简书,博客园,开源中国等,这些平台都吸引了大量的用户,提供了分享知识、交流经验的机会。然而,尽管这些平台具有很多优势,搭建个人博客仍然有许多好处。
使用个人博客的好处包括:
-
自主性:个人博客的所有权和控制权完全在个人手中,可以自由选择主题、个性化设置、排版布局等,不受博客平台的限制。
-
独立性:个人博客可以独立存在于互联网上,不受博客平台的关闭、限制、审核等影响。
-
品牌建设:个人博客可以为个人或企业建立独立的品牌形象,展示专业知识和技能,提升个人或企业的影响力和专业形象。
-
数据隐私:使用个人博客可以更好地保护个人的数据隐私,相比在博客平台上发布内容,个人博客更加安全可靠。
-
自由度:个人博客可以自由选择广告、赞助、合作等方式进行盈利,不受博客平台的限制。
个人博客搭建知识
相关知识
CMS系统还是简单博客系统?
内容管理系统(Content Management System,CMS),是一种位于WEB前端(Web 服务器)和后端办公系统或流程(内容创作、编辑)之间的软件系统。内容的创作人员、编辑人员、发布人员使用内容管理系统来提交、修改、审批、发布内容。这里指的“内容”可能包括文件、表格、图片、数据库中的数据甚至视频等一切你想要发布到网站的信息。例如很多新闻、讯息类、企业官网类网站便使用了CMS系统。典型的如wordpress便是世界上最常见的CMS系统。
博客系统主要用于创建和管理个人博客。它们通常具有简单、易用的界面,专注于博客文章的创建和发布。博客系统通常具有一些基本的功能,比如文章管理、分类和标签、评论系统等。它们通常不具备复杂的网站管理功能,比如用户管理、权限设置等。
大多数情况下,博客系统的功能被内容管理系统覆盖。内容管理系统需要考虑到多人分工使用的情况,而博客一般不需要。除此之外,CMS还会有更多功能以实现用户需求。
静态文件服务器、虚拟主机与完整功能服务器
静态文件服务器是一种用于存储和提供静态文件(如HTML、CSS、JavaScript、图像文件等)的服务。静态文件服务器能够接收客户端的请求,然后返回相应的文件给客户端。静态文件服务器在处理请求时,并不会对文件进行任何处理或修改,只是直接将文件返回给客户端。典型的如Gitxx Pages、科赋锐Pages以及某些云服务器商提供了这样的服务。
虚拟主机是在同一台服务器上运行多个不同的网站的一种技术。它可以支持使用公共网关接口(Common Gateway Interface,CGI)的程序实现动态站点(如php,jsp,asp等,主要是php)。虚拟主机会在一台服务器上配置多个网站,每个网站拥有独立的域名、目录结构和配置文件。它在价格上会比服务器便宜很多。在购买虚拟主机时,大部分虚拟主机提供商会附带一个mysql数据库。你需要使用ftp管理你的网站上的文件。虚拟主机也可当做静态文件服务器使用,但其最主要的特性在于cgi程序。当用户请求http://网站名/xxx.php时,cgi程序会执行xxx.php中的脚本内容,并将输出给到用户。国内国外都有很多服务商提供了这样的服务,有些甚至免费。
完整功能服务器是一种提供完整功能的服务器,不仅可以提供静态文件服务,还可以处理动态内容和交互式功能。它支持使用ssh连接到服务器,手动安装MySQL、nginx、PostgreSQL、apache服务器、docker等软件,也支持你部署使用spring、go、php、nodeJs等等编程语言及框架编写应用。其功能完全覆盖静态文件服务器和虚拟主机,并且拥有最高的自由度。国内国外有很多IDC服务商提供了个人购买服务器的通道。
静态站点与动态站点
假设你有一个个人博客,你使用静态站点来展示你的文章和个人信息。你的博客使用HTML文件构建,每篇文章是一个独立的HTML文件。当有读者访问你的博客时,他们只需要下载静态HTML文件,并且不需要与服务器进行交互。这种方式能够快速加载你的文章,并且保证每个读者访问到的是相同的内容。这样的站点能够很好的被搜索引擎收录。
然而,你可能决定添加一个评论系统来让读者在文章下方发表评论。为了实现这个功能,你需要将你的博客从静态站点转变为动态站点。你可以使用服务器端编程语言(如JAVA、PHP)和数据库来实现评论功能。当读者提交评论时,脚本会将评论内容存储到数据库中,并在读者访问博客时将评论动态地加载到页面上。这样,每个读者访问博客时会看到最新的评论,而不仅仅是静态的HTML文件。这样的站点也是能够很好地被搜索引擎收录的。可是,如果你突发奇想,决定使用AJAX获取你网站上的所有数据,那么,你的网站在搜索引擎中有可能只会显示一个标题,内容则为空。
CMS及博客的各种技术方案
1. 直接编写制作网页
如果你具有足够的前端开发知识,你可以直接使用HTML、CSS、JavaScript编写你的网页并上传到静态文件服务器上和他人分享。你也可以将使用如jquery、vue、react等技术制作的网页上传。
2. 渲染markdown
这样的方法要求使用者具有较好的计算机基础。如hexo、jekyll、vuepress等方案使用了该方法。用户通过在本地编写markdown文件,通过框架提供的构建脚本一键将所有编写的markdown文件制作为静态站点。
3. 带管理员模式的文章发布及管理
wordpress等有服务商提供创建好的实例,也可使用虚拟主机无代码配置完成。如果使用框架没有相关支持,那么可能需要使用者具有安装部署系统的能力及足够的运维知识。如wordpress、halo等等系统提供了这样的功能。如果系统使用php编写,那么大概率能够在虚拟主机上部署。否则很可能需要完整功能服务器。使用这种方案的会更偏向CMS,系统功能一般更全面,具有自带的标签、搜索、评论等功能。
常见方案比较
比较项目\方案 | 自己编写静态网页 | wordpress(php CMS) | halo(非php、jsp、asp CMS) | hexo |
要求 | 具有网页开发知识 | 计算机、web基础知识,会用word | 能够部署应用 | 了解markdown,nodeJs基础使用 |
发表、编辑文章 | 制作网页,构建部署 | 使用自带可视化编辑器 | 使用自带可视化编辑器 | 写markdown,写完后构建部署 |
删除文章 | 手动删文件,构建部署 | 使用管理功能删除 | 使用管理功能删除 | 手动删文件,构建部署 |
使用难易度 | 高 | 低 | 低 | 中低 |
可部署在 | 静态站点、虚拟主机、服务器 | 自助建站系统、虚拟主机、服务器 | 服务器 | 静态站点、虚拟主机、服务器 |
搭建难易度 | 中 | 低到高 | 高 | 中 |
安全性 | 安全 | 1.系统可能存在漏洞 2.管理员账号可能被盗 | 1.系统可能存在漏洞 2.管理员账号可能被盗 | 安全 |