初尝Typecho

昨天笔记本重装10.13不小心把博客的源代码删了,虽然我有保存有多个副本,但是最近的一次副本保存在机械硬盘里面的,而这机械硬盘我放在宿舍没拿回家,所以我就暂时没有去碰服务器和Coding上面的HTML源码,但是我也不能闲着啊,毕竟有两个月的时间在家,除了平时的笔记push到Github仓库之外,我还会把一些东西记录下来,也是一个偶然的机会发现了 Typecho,原本是在应用商店里面看Rime输入法,无意中点进去一个博客,发现底部的博客框架是Typecho,点进去就来到了Typecho官网,反正我也闲来无事,就搭一个耍耍,顺便记录下来,可能会帮到搭建遇到问题的人。
初识Typecho
- 这Typecho究竟是什么博客框架?
 这个博客框架和WordPress一样属于动态博客框架,之前有看过我写的hexo+github/coding搭建个人博客就知道这二者的区别。
其实二者最本质的区别就是对[编辑语法]的支持以及[环境的依赖]。如果你跟喜欢Word文档或者Powerpoint式的写作,那么我并不推荐你使用静态博客,也就是HTML语法的网页,PHP语法更适合你。所以二者环境的区别就是是否需要安装Php和Mysql数据库,这里不深入展开讨论,回归正题,Typecho有哪些优点呢?官网首页这样写到:
- 轻量高效 仅仅 7 张数据表,加上不足 400KB 的代码,就实现了完整的插件与模板机制。超低的 CPU 和内存使用率,足以发挥主机的最高性能。 
- 先进稳定 原生支持 Markdown 排版语法,易读更易写。支持 BAE/GAE/SAE 等各类云主机,即使面对突如其来的高访问量,也能轻松应对。 
- 简洁友好 精心打磨过的操作界面,依然是你熟悉的面孔,更多了一份成熟与贴心。每一个像素的剪裁,都只为离完美更进一步。 
我补充几点:
- 丰富的主题及插件 你可以上 - Github上面搜索 Typecho,你就会发现很多精美的开源主题和异常丰富的插件,此外原生支持评论,这类动态博客都可以这web端随时随地管理,同样缺点也很明显,文章不利于保存,还得拥有一台有公网IP的主机。
- 用户量还算比较多 据说有500,000 用户。 
建议还算适当的掌握 MarkDown语法 和一些简单的 HTML语法,虽然此框架不要求。
搭建环境
昨天我在Vultr上面的服务器上面搭建好了,今天我就以树莓派上面的CentOS为例,下面👇🏻贴出我的详细配置:
| 1 | Last login: Fri Jul 20 15:40:12 2018 from 192.168.1.174 | 
首先安装lnmp环境,由于安装lnmp并不是本文的重点,你可以去官网下载源码编译安装,也可以在仓库安装,为了节约时间,这里使用一键安装脚本。
一键安装脚本官网,这里提供version=1.5的在线安装脚本下载链接
ssh接入服务器,键入如下命令:
| 1 | wget http://soft.vpser.net/lnmp/lnmp1.5.tar.gz | 
执行安装脚本后它会提示你安装哪个版本,你可以直接回车,当然🙄️也可以按照自己的喜好安装,不过安装Mysql时会让你创建数据库root用户的密码,记住此密码待会有用到。此时你只需要等待它安装完毕即可。
| 1 | PHP: OK | 
显示此信息就说明安装完毕,其中上面的0.0.0.0:3306中的 3306 是Mysql默认监听的端口,0 0.0.0.0:80中的80是Nginx占用的端口。如后续使用Caddy就可以停用Nginx。
网站根目录
这里安装的lnmp是默认把/home/wwwroot作为主机的目录。以后添加目录以后都会在这里相应的创建文件夹方便管理。
- 添加虚拟主机
使用命令lnmp vhost add添加虚拟主机目录,其中:
| Q | A | 
|---|---|
| Please enter domain(example: www.lnmp.org): | 填写你的域名,同时dns解析到服务器ip | 
| Enter more domain name(example: lnmp.org .lnmp.org): | 保存默认,回车即可 | 
| Default directory: /home/wwwroot/share.ourfor.top: | 回车 | 
| Allow Rewrite rule? (y/n) | y | 
| Enable PHP Pathinfo? (y/n) | y | 
| Allow access logs (y/n) | y | 
| Add SSL Certificate (y/n) | y | 
| 1.: Use your own SSL Certificate and Key 2.: Use Let’s Encrypt to create SSL Certificate and Key | 建议使用2,自动添加https证书 | 
接下来它会自动开始配置,当提示此信息我们就可以进行下一步了。
| 1 | ================================================ | 
如果你使用的是VPS,这里忽略
其中由于现在我用的是树莓派,没有做内网穿透,没有公网ip,所以我得修改nginx的配置才能在局域网中访问树莓派。
使用 find命令搜索🔍️配置文件find / -name nginx.conf,搜索结果显示我的配置文件在:/usr/local/nginx/conf/nginx.conf,使用vi编辑vi /usr/local/nginx/conf/nginx.conf将其中的:
| 1 | listen 80 default_server; | 
改为:
| 1 | listen 80 default_server; | 
其中/home/wwwroot/share.ourfor.top就是上文我们添加的网站目录,按照你添加的修改,使用lnmp restart重启Nginx使配置生效,那么接下来我们就可以去官网下载源码了。
开始安装
- 下载源码 - 1 - wget http://typecho.org/downloads/1.1-17.10.30-release.tar.gz&&tar -xvf 1.1-17.10.30-release.tar.gz 
- 移动到网站根目录 - 1 - mv build/* /home/wwwroot/share.ourfor.top/ #也就是上文的网站根目录,按照实际情况修改 
- 创建一个名为typecho的数据库 - 1 
 2
 3
 4- mysql -u root -p #回车,接下来输入之前创建root用户所设置的密码 
 #password
 create DATABASE typecho; #创建名为typecho的数据库
 exit #退出,保存。
接下来就可以打开域名或者局域网ip(树莓派)了,这时候如果打开Dashboard(控制面板)出现没有权限或者Not Found的话,就需要修改php.ini,同样使用find命令搜索find / -name php.ini,使用vi编辑,键入/cgi.fix_pathinfo,查找字符,将cgi.fix_pathinfo=0改为cgi.fix_pathinfo=1,随后重启php,lnmp restart
- 常见问题:官方帮助文档
- 未监听9000端口
 在php配置文件(一般应该是叫php-fpm.conf)中添加:1 
 2listen = /tmp/php-cgi.sock #一般有,这一段不用添加,只是定位 
 listen = 127.0.0.1:9000
使用Caddy代替Nginx作为 Http 服务器(推荐),相比之前的步骤,使用Caddy则相对比较简单,首先去官网下载Caddy,
- Caddy优势:- 自动签发 HTTPS
- 目录浏览界面美观强大
- 容易上手,插件众多,官方文档介绍详细
 
这里我选择了几个实用的插件:
- http.cache
- http.filemanager
- http.filter
- http.git
- http.jekyll
- http.locale
- http.login
- http.upload
- http.webdav
- tls.dns.vultr
按照自己的需要选择,这里将caddy下载解压后的文件放到/home/wwwroot下,方便管理网站,并在该目录下创建一个名为Caddyfile的文件
| 1 | blog.ourfor.top:443 { | 
说明
- blog.ourfor.top:443域名以及端口,其中- http为80而- https为443
- root /home/wwwroot/blog.ourfor.top/网站根目录路径
主题推荐:
插件推荐:
相关文档
这个是Coding发给我的电子邮件里面附上的,很少用
Cloud Studio,不过看了它的教程似乎还行,当然仅作参考
这个可以在
最快的 Hexo 博客搭建方法里面找到
😥️这个是我写的
- 本文链接: https://blog.saltpi.cn/article/typecho-experience/
- 版权声明: 本博客所有文章除特别声明外,均采用 ©BY-NC-SA 许可协议。转载请注明出处!