前言
之前注册过亚马逊云送了12个月服务器,大概9月份过期,
于是打算在服务器上搭个博客
不比hexo、jekyll这类静态博客生成工具,有个github账号就能有自己的博客
typecho是基于php+数据库的一个动态博客平台,需要在服务器搭建相应的环境
一旦建好,管理很是方便,切换主题、发布文章、调节个性化
确实相比hexo这方面要好操作很多,但就是环境架设,配置服务器端不好操作
工具
我们这里采用LNMP一键安装包进行环境架设,虽说是一步到位
不用你去思考选什么,版本匹配之类的问题,但大致背景还是要心里有底
Linux作为操作系统,Apache 或Nginx作为 Web 服务器,MySQL 作为数据库,PHP/Perl/Python作为服务器端脚本解释器。由于这四个软件都是免费或开放源码软件(FLOSS),因此使用这种方式不用花一分钱(除开人工成本)就可以建立起一个稳定、免费的网站系统,被业界称为“LAMP“或“LNMP”组合。
我们使用的一键安装包中Web服务器是Nginx,所以称为LNMP
背景
系统选择Ubuntu 18.04.2 LTS
typecho环境需要Nginx/Apache2+MySQL/SQLite+PHP+PHP系列组件(curl/mbstring/dev/pear/mysql/gd/pdo/sqlite3/…)
Nginx:Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,特点是占有内存少,并发能力强。Nginx作为负载均衡服务:Nginx 既可以在内部直接支持 Rails 和 PHP 程序对外进行服务,也可以支持作为 HTTP代理服务对外进行服务。
Apache2:Apache是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩充,将Perl/Python等解释器编译到服务器中。
MySQL:MySQL是一种关系数据库管理系统,是指包括相互联系的逻辑组织和存取这些数据的一套程序 (数据库管理系统软件)。关系数据库管理系统就是管理关系数据库,并将数据逻辑组织的系统。关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
SQLite:SQLite是一款轻型的数据库,它的设计目标是嵌入式的,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。SQLite引擎不是个程序与之通信的独立进程,而是连接到程序中成为它的一个主要部分。所以主要的通信协议是在编程语言内的直接API调用。这在消耗总量、延迟时间和整体简单性上有积极的作用。整个数据库(定义、表、索引和数据本身)都在宿主主机上存储在一个单一的文件中。
PHP:PHP(外文名:PHP: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,利于学习,使用广泛,主要适用于Web开发领域。用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML(标准通用标记语言下的一个应用)文档中去执行,执行效率比完全生成HTML标记的CGI要高许多;PHP还可以