前言

本文将介绍如何搭建基于Typecho的个人网站,以及分享一些遇到问题的解决方案。

Why Typecho

Typecho是一个由国人开发的轻量级CMS,和WordPress一样,可以快速建立个人博客网站。So Why Typecho?

WordPress有无数的优点,但是选择Typecho的理由只需一个:简单,简洁,轻量级。

Typecho几乎是专门为个人博客打造的,全部代码不足400KB,也不像WordPress一样对主机性能有一定的要求。界面和控制台都是极简风,非常清爽,很容易上手。对MarkDown支持非常友好,不需要额外的插件。

环境

Typecho的推荐环境是LNMP(Linux, Nginx, MySQL, PHP),跟WordPress非常相似,可以共用。

因为本人之前写过在Ubuntu上搭建WordPress环境的步骤,为避免重复造轮,Linux,MySQL,PHP7的部分可以参考这里。

Nginx

安装Nginx

> sudo apt-get install nginx

验证Nginx

> systemctl status nginx

会得到如下输出

> ● nginx.service - A high performance web server and a reverse proxy server

> Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)

> Active: active (running) since Thu 2019-12-05 10:19:16 CST; 4h 29min ago

> Process: 80264 ExecStop=/sbin/start-stop-daemon --quiet --stop --retry QUIT/5 --pidfile /run/nginx.pid (code=exited, status=0/SUCCESS)

> Process: 80384 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)

> Process: 80380 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)

启动Nginx

> sudo systemctl start nginx

修改Nginx配置

Nginx默认安装在 /etc/nginx/目录下,在此目录下找到默认的配置文件sites-enabled/default(不同的Nginx版本或者操作系统文件会有区别),把index.php加到index标签下,同时将PHP对应的location打开

index **index.php** index.html;

location ~ \.php$ {

include snippets/fastcgi-php.conf;

fastcgi_pass unix:/run/php/php7.0-fpm.sock;

}

要确保已经安装了php-fpm,否则Nginx无法正常给php做转发。如果还没有安装,运行如下命令安装

> sudo apt install php-fpm php-mysql

安装Typecho

直接从官网下载最新的版本,解压到Nginx目录

> cd /usr/share/nginx

>

> sudo wget http://typecho.org/downloads/1.1-17.10.30-release.tar.gz

>

> tar -zxvf 1.1-17.10.30-release.tar.gz

>

> cp ./build/* ./html/

不要忘了修改一下Nginx发布目录的权限

> cd /usr/share/nginx/html

>

> chmod -R 755 *

>

> chown {owner}/{group} *

如果是Ubuntu,owner和group都是www-data,如果是CentOS则事nginx,可以通过以下命令查看用户

> ps -ef | grep nginx

验证Typecho

现在浏览器打开 {ip}:80(nginx默认80端口)应该可以看到Typecho的欢迎页面了

按照向导一步一步走下来,可以看到简洁清爽的博客界面

PHP7可能遇到的问题

502 bad gateway

如果打开页面报502 bad gateway,是因为xml解析不兼容造成的,安装php7.0-xml即可解决,Ubuntu

> sudo apt-get install php7.0-xml

CentOS下

> yum install php7.0-xml

404 not found

如果打开任何Typecho子页面都报404 not found,需要在nginx的配置文件添加如下配置

location / {

if (-f $request_filename/index.html){

rewrite (.*) $1/index.html break;

}

if (-f $request_filename/index.php){

rewrite (.*) $1/index.php;

}

if (!-f $request_filename){

rewrite (.*) /index.php;

}

}

在php的location下添加参数fastcgi_split_path_info ^(.+.php)(/.+)$;,参考如下

server {

listen 80 default_server;

listen [::]:80 default_server;

root /usr/share/nginx/typecho;

index index.php index.html;

server_name localhost;

location / {

# First attempt to serve request as file, then

# as directory, then fall back to displaying a 404.

if (-f $request_filename/index.html){

rewrite (.*) $1/index.html break;

}

if (-f $request_filename/index.php){

rewrite (.*) $1/index.php;

}

if (!-f $request_filename){

rewrite (.*) /index.php;

}

try_files $uri $uri/ =404;

}

# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000

#

location ~ \.php$ {

include snippets/fastcgi-php.conf;

fastcgi_split_path_info ^(.+\.php)(/.+)$;

# With php7.0-cgi alone:

# fastcgi_pass 127.0.0.1:9000;

# With php7.0-fpm:

fastcgi_pass unix:/run/php/php7.0-fpm.sock;

}

}

从WordPress迁移到Typecho

Typecho有插件支持从WordPress转移文章,但是建议安装老版本的Typecho环境,而且对WordPress的版本有要求,至少博主在WordPress5和Typecho1.1下没有迁移成功。所以建议不要迁移哈哈哈。

总结

Typecho环境的搭建与WordPress非常相似,如果你是想要一个纯粹极简博文网站,并习惯MarkDown写文,那就感觉上手Typecho吧,你值得拥有。

来源:oschina

链接:https://my.oschina.net/u/2411391/blog/3137889

linux安装typecho教程,Typecho上手指南相关推荐

  1. Linux入门第三集!JDK8的Linux版本资源分享!jdk-8u301-linux-x64.rpm官方资源分享!Linux安装JDK8教程!

    Linux入门第三集!JDK8的Linux版本资源分享!jdk-8u301-linux-x64.rpm官方资源分享!Linux安装JDK8教程! 提取码均为0916 jdk-8u301-linux-x ...

  2. 二丶Linux安装xdd-plus教程及必备依赖的安装+青龙对接xdd

    二丶Linux安装xdd-plus教程及必备依赖的安装 没有服务器的先自行购买,这里推荐腾讯云2H4G8M首年70–点击购买 **首先需要安装青龙容器没装的青龙容器部署安装及常用命令 QQ交流群:10 ...

  3. Linux安装python3教程

    Linux安装python3教程 原文地址:https://program-park.github.io/2021/03/25/python_4/ 我这里用的是CentOS7.2系统以及python3 ...

  4. Linux安装Jmeter教程

    Linux安装Jmeter教程 1.打开终端,在/usr/bin/目录下创建jmeter文件,如图: mkdir /usr/bin/jmeter 2.进入jmeter的目录下,如图: cd /usr/ ...

  5. linux安装nginx教程

    linux安装nginx教程 安装依赖包 yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel 下载安装包 # 我是装 ...

  6. linux 安装postgresql教程

    linux 安装postgresql教程 下载软件 pgsql官网地址:https://www.postgresql.org/,进入后点击download就来到下载页,这里点击Linux下面的Othe ...

  7. linux安装ppt教程视频教程下载,Linux教程ch2Linux安装及入门.ppt

    Linux教程ch2Linux安装及入门.ppt (68页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 29.9 积分 第二章 Linux安装及入门 Li ...

  8. linux 安装jdk教程

    手动安装JDK Linux有些系统默认安装有OpenJDK是JDK的另一种实现. 1.检查当前系统中是否已安装JDK 命令:java -version:查看JDK安装版本,命令执行后显示如下,说明本系 ...

  9. linux上安装fio教程,FIO使用指南,fio使用方法

    FIO使用指南,fio使用方法 前言 fio是测试IOPS的非常好的工具,用来对硬件进行压力测试和验证,支持13种不同的I/O引擎,包括:sync,mmap, libaio, posixaio, SG ...

最新文章

  1. 为什么接口中要允许添加默认方法?
  2. python打地鼠游戏代码_妈妈和宝宝在家,自己做了个打地鼠游戏,网友:宝宝笑得好开心...
  3. STL6大标准库的关系和作用
  4. miui9Android8.0更新,MIUI9 暂停更新工作,或为 MIUI 10 将至?
  5. VC++的dll中接收消息
  6. Kafka监控KafkaOffsetMonitor【转】
  7. Kubernetes集群管理部署
  8. java oracle 建表语句_oracle得到建表语句
  9. Unity中LitJson的使用
  10. css中 div圆角边框样式,DIV+CSS圆角边框 - 前端LOVER - 博客园
  11. yalmip决策变量
  12. 计算机毕业设计之java+SSM酒店客房预定管理系统
  13. 如何跨网络远程操作另一台计算机,如何远程控制另一台计算机?
  14. WindowsCMD配置代理
  15. Spark多版本共存
  16. ggplot2柱状图进阶画法
  17. xposed新版52下载_kyqp游戏合集-kyqp游戏下载推荐
  18. unity之动画编辑器
  19. Flutter开发之——序列化失败-have not been migrated to null-safety
  20. OA系统--用户登录

热门文章

  1. ios签名软件_使用ios企业签名需要准备哪些?
  2. easy connect电脑版_北师大版小学英语六年级上册Unit4课文听力+翻译+单词录音跟读+高清课本(一起点)...
  3. linux使用jinja2模板_linux下安装python组件之jinja2
  4. Java 动态代理详解
  5. mysql meb安装_用meb搭建MySQL Master/Slave
  6. 直播笔记 | Unity中射线检测详解
  7. 微型计算机原理第二版学习辅导,微型计算机原理及应用学习辅导.pdf
  8. 为什么老是把词语读反_关于语言表达 6岁儿童经常把词语顺序念反
  9. OpenShift 4 - 部署运行 MinIO 对象存储
  10. (七)使用Docker进行人脸识别