2026 年 9 月
123456789101112131415161718192021222324252627282930
当天有发布文章
运行状态
CPU 占用0% · 4 核心
内存占用42.3% · 6.5 GB / 15.4 GB
磁盘占用12.5% · 110.8 GB / 889.7 GB
系统负载 0.51 / 0.65 / 0.74
持续运行 11 天 6 小时 3 分钟
操作系统 Debian 13
WEB 服务器 PHP 8.2.30
通信协议 HTTP/1.1
访客信息
您的 IP 216.73.217.68
浏览器 未知浏览器
您的设备 桌面设备
连接类型 HTTPS · GET
服务语言 未知
当前域名 moji.565882.xyz
站点统计
8文章数目
213评论数目
1294累计访问
396运行天数

飞牛 NAS 系统上搭建 Typecho 博客系统

ydmo 53 阅读 1 评论 Docker 备忘录 博客系统

Typecho 是一款基于 PHP 的博客软件,旨在成为世界上最强大的博客引擎。Typecho 是根据 GNU 通用公共许可证 2.0 发布的。

主要特点

  • 支持多个数据库(MariaDB、MySQL、SQLite、PostgreSQL)
  • Markdown 支持
  • 插件支持
  • 主题支持
  • 自定义字段
  • 自定义页面

Docker容器部署

分两个部分,一个是Typecho,另一个是数据库Mariadb,独立数据库是为了将数据库作为公共数据库使用,方便其它容器链接和管理。

涉及到的资源

  1. typecho:

  2. mariadb
    Linuxserver.io:https://docs.linuxserver.io/images/docker-mariadb/#usage
  3. adminer
    hub.docker.com:https://hub.docker.com/_/adminer/tags

测试主题

  1. 老朱开源主题WaterDrop:https://github.com/ZShijun/WaterDrop

  2. 木灵鱼儿开源主题Typecho_Theme_JJ:https://github.com/mulingyuer/Typecho_Theme_JJ

  3. 开源主题Joe:https://github.com/HaoOuBa/Joe

1. 博客系统Typecho

请输入图片描述

docker-compose

version: '3.7'

services:
  typecho:
    image: joyqi/typecho:nightly-php8.2-apache
    container_name: typecho-server
    restart: always
    environment:
      - TYPECHO_SITE_URL=https://your-domain.com  # 替换为您自己的域名
    ports:
      - 8080:80  # 端口只是一个例子,你可以把它改成任何你想要的端口 `8080`
    volumes:
      - /var/typecho:/app/usr  # 将本地目录挂载到容器目录以获取持久性数据

docker run(可选,需要命令行操作)

# 拉起镜像
sudo docker pull joyqi/typecho:nightly-php8.2-apache

# 运行docker run命令
sudo docker run -d --name typecho-server -e TYPECHO_SITE_URL=https://your-domain.com -v /var/typecho:/app/usr joyqi/typecho:nightly-php8.2-apache

2. 数据库Mariadb

请输入图片描述

docker-compose

---
version: "2"
services:
  mariadb:
    image: linuxserver/mariadb
    container_name: mariadb
    environment:
      - PUID=1000
      - PGID=1001
      - MYSQL_ROOT_PASSWORD=  # 密码
      - TZ=Asia/Shanghai
    volumes:
      - ./config:/config
    ports:
      - 3336:3306
    networks:
      - mynet
    restart: unless-stopped
  # 可视化管理工具 adminer
  adminer:
    image: adminer
    container_name: adminer
    environment:
      - ADMINER_DEFAULT_SERVER=mariadb
    ports:
      - 8030:8080
    networks:
      - mynet
    restart: unless-stopped

networks:
  mynet:
    external:
      name: mynet

程序安装

1. MariaDB 创建数据库typecho

请输入图片描述

2. 初始化 Typecho

请输入图片描述
1. 易配置失败点:数据库适配器选择注意。
如果选择Mysql原生函数适配器,会报错error,而MariaDB旨在保持与MySQL的高度兼容性,要选择pdo驱动Mysql适配器

请输入图片描述

  1. 新上传主题启用失败,预览不显示,读取不了文件index.php

请输入图片描述

解决办法:修改新主题权限,给予公共读取权限。
可以安装应用1panel,这个是服务器管理工具。
请输入图片描述

其它补充

  1. 亲测版本注意错误:
    这个镜像版本在配置SQlite数据库时会一直报错,原因是安装程序无法自动生成sqlite数据库文件。

    joyqi/typecho:nightly-php7.4-apache

解决办法:
在官方仓库有解决办法:https://github.com/typecho/Dockerfile/issues/29
请输入图片描述

进入容器输入命令:

chown -R www-data:www-data /app/usr

请输入图片描述

  1. 如果选择SQlite数据库,直接选择 SQlite 原生函数适配器。但这个数据库很多主题不支持,大多主题是Mysql数据库开发的。
    请输入图片描述

庐山真面目

前两年也安装过,后来迁移服务器就停了一直没再开。现在算是重拾起来但发现快忘得差不多了,一些易出错的地方花了我不少时间排查错误。故记录下来以便查询。
请输入图片描述

插件扩展

1. LZStat

基于 typecho 的浏览量、点赞量统计插件。

  • 支持浏览量统计与显示
  • 支持点赞量统计与显示
  • 支持文章列表自定义排序
  • 支持浏览量、点赞量异步接口调用
  • 实现浏览量、点赞量当天不重复计算
  • 支持点赞在当天取消
  • 实现防抖策略,避免多次重复提交
  • 实现榜单查询功能

请输入图片描述


关注公众号获取最新资源

存储小窝.png

已有 1 条评论

    1. 秋叶 2025-08-29 18:49

      正在研究呢就看到博主文章了,咋就那么巧呢

发表评论