Typecho是一个非常轻量化)的开源博客程序,发展至今已经比较成熟,但是在部署时也会遇到一些问题。本文将根据Typecho的安装需求,从零开始部署一个完整的typecho博客。

Typecho需要的组件:

  1. PHP5.1 以上
  2. 支持Mysql, PostgreSQL, SQLite 中的任意一种并在PHP中安装了相关扩展
  3. CURL或Socket支持
  4. mbstring或iconv扩展支持

1 PHP的安装

1.1更新源

首先安装一个管理源的工具包

apt-get install software-properties-common

添加Ondřej Surý的PHP源

add-apt-repository ppa:ondrej/php

更新本地系统的源

apt-get update

1.2 安装PHP7.4

安装PHP7.4,注意需要带上mbstring和mysql。

apt-get install php7.4 php7.4-fpm php7.4-mysql php7.4-gd php7.4-mbstring

安装完成后启动。

service php7.4-fpm start

PHP安装完成之后,并不能直接使用,因为PHP是一个处理页面的工具,并不能处理http请求。所以我们需要安装Nginx做代理。如果想要搭建支持https的博客,建议编译安装带ssl模块的nginx,安装方法可以参考这篇博客

nginx安装完成以后,我们还需要连接PHP和Nginx,我们既可以通过socks连接,也可以通过端口连接。这里我们用端口连接PHP和Nginx。

1.3配置PHP7.4

我们需要更改配置文件,让PHP以端口的方式连接nginx。

vim /etc/php/7.4/fpm/pool.d/www.conf

找到 listen 项,把/run/php/php7.4-fpm.sock 改为 127.0.0.1:9000,并保存文件。

1706764237406

重启PHP服务

service php7.4-fpm reload

此时可以通过 lsof -i:9000 命令查看9000端口的监听情况,如果输出以下信息,说明PHP的配置没有问题。

1706764848158

2 Mysql安装

ubuntu下安装Mysql非常简单,只需要一行命令:

sudo apt install mysql-server

此时root用户密码为空,我们以root身份进入mysql修改密码,并创建一个用于typecho的数据库:


mysql
 
#进入mysql后更改root密码为mynewpassword
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password by 'mynewpassword';
 
#创建一个名为typecho_blog的数据库
CREATE DATABASE typecho_blog;
 
#随后退出mysql
exit

3 typecho部署

在某个你喜欢的地方新建一个目录,我们即将把typecho程序安装在这里(本文演示的目录为/home/typecho)。

也可以直接上传typecho.zip至 /home/typecho 解压

#新建目录
mkdir -p /home/typecho
#进入目录
cd /home/typecho
#下载源码(可以在typecho官网找到)
wget https://github.com/typecho/typecho/releases/download/v1.2.1/typecho.zip
#解压源码
unzip typecho.zip
#对整个源码目录赋予足够的权限
chmod -R 777 /home/typecho

解压完成后,我们开始配置Nginx。

4 Nginx与PHP的连接、博客的安装

安装nginx

sudo apt-get install nginx

以下是Nginx与PHP连接的一个示例配置,完成配置之后,重启nginx并在浏览器访问你自己的域名。

vim /etc/nginx/nginx.conf

以下是官网给的server块的写法

    server {
        listen          80;
        server_name     yourdomain.com;
        root            /home/yourdomain/www/;
        index           index.html index.htm index.php;
 
        if (!-e $request_filename) {
            rewrite ^(.*)$ /index.php$1 last;
        }
 
        location ~ .*\.php(\/.*)*$ {
            include fastcgi.conf;
            fastcgi_pass  127.0.0.1:9000;
        }
    }

1706771812762

检查配置文件语法是否存在错误

nginx -t

1706772153740

重启nginx服务

sudo systemctl start nginx

设置nginx和php7.4-fpm开启自启动

sudo systemctl enable nginx
sudo systemctl enable php7.4-fpm

5 完成安装

访问自己的域名,若出现以下界面表明安装typecho成功,接下来按照安装指导进行安装即可

1706772554642

6 参考链接

(5.1)Typora——Typora 图像保存和上传( 本地 + PicGo + SMMS/Gitee)

最后修改:2024 年 02 月 08 日
如果觉得我的文章对你有用,请随意赞赏