• 首页
  • 归档
  • 友邻
  • 关于
  • 搜索
  • 夜间模式
    ©2026  凝雨花畔 Theme by OneBlog
    搜索
    标签
    # 旅游 # 一日游 # 攀枝花
  • 首页>
  • Docker>
  • 正文
  • 还在手动安装 Typecho?试试 Docker Compose 一键部署,简单到哭!

    2026年04月17日 22 阅读 0 评论 2056 字

    前言

    作为凝雨花畔的第一篇文章,在开篇之前,我想先来点废话。早在两三年前,我就断断续续部署过很多博客,从一开始的 WordPress、Hexo、Halo 到后来的 Typecho,我花了太多心思在把博客变得更美观,功能变得更复杂上,反而忽视了创作本身。今年二月一次偶然,我接触到了卢曼的卡片盒笔记法,由此陆陆续续写下很多笔记。今天,出于将卡片笔记提炼总结形成文章的需要,博客又一次重启归来。这次凝雨特别采用了简约风格,力求专注于写作中,以期持续更新。

    什么是 Typecho

    Typecho 是一款原生支持云主机,支持 Markdown 语法的轻量级博客平台。

    需要准备

    服务器:买云服务器最便宜的套餐即可
    系统:我用的是 Ubuntu24.04
    安装好 Docker、Docker-compose
    博客域名

    部署全流程

    部署

    1.新建部署目录

    mkdir /home/docker/typecho #这里可以是任何你想放置的路径
    
    cd /home/docker/typecho #进入目录

    2.创建并编辑 docker-compose.yml 文件

    vim docker-compose.yml #这里的文件名不能有任何改动
    services:
      typecho:
        image: joyqi/typecho:nightly-php8.2-apache #拉取 typecho 的官方镜像
        container_name: typecho-server
        restart: always
        environment:
          - TYPECHO_SITE_URL=https://blog.ningyu.icu #填入做好 DNS 解析的域名
          - TZ=Asia/Shanghai #配置容器时区为上海,面向海外可删除此条
        ports:
          - 8668:80 #将8668端口映射到宿主机80端口,左侧可修改为任意一个端口
        volumes:
          - ./typecho:/app #为方便后续管理,将整个容器目录映射到宿主机 typecho 目录
        depends_on:
          - db
    
      db:
          image: mariadb:latest
          container_name: typecho-db
          restart: always
          environment:
            - MYSQL_ROOT_PASSWORD=PASSWORD #修改数据库 root 密码
            - MYSQL_DATABASE=typecho
            - MYSQL_USER=typecho
            - MYSQL_PASSWORD=PASSWORD #修改数据库密码
            - TZ=Asia/Shanghai
          volumes:
            - ./db:/var/lib/mysql

    3.启动容器

    docker compose up -d

    4.配置反向代理

    安装

    1.浏览器访问博客域名。
    2.填写配置,对照提示信息,填入 docker-compose.yml 文件中数据库部分的相关配置,点击下一步开始安装。
    3.安装成功,现在你可以访问自己的博客啦。

    踩过的坑

    时区混乱

    具体表现为文章和评论的时间出现成小时的偏差。

    解决方案:
    找到并编辑 config.inc.php 文件

    vim /home/docker/typecho/typecho/config.inc.php

    在顶部(<?php标签内)添加:

    date_default_timezone_set('Asia/Shanghai');
    ini_set('date.timezone','Asia/Shanghai');

    无法加载本地资源

    我这里表现为留言区表情加载失败
    解决方案:
    找到并编辑 config.inc.php 文件

    vim /home/docker/typecho/typecho/config.inc.php

    在 <?php 标签内,其他业务逻辑前添加:

    define('__TYPECHO_SECURE__', true);

    简单到哭的一键部署至此结束,你也快来试试吧!

    本文著作权归作者 [ 凝雨 ] 享有,未经作者书面授权,禁止转载,封面图片来源于 [ 互联网 ] ,本文仅供个人学习、研究和欣赏使用。如有异议,请联系博主及时处理。
    取消回复

    发表留言
    回复

    首页归档友邻关于
    Copyright©2026  All Rights Reserved.  Load:0.008 s
    Theme by OneBlog V3.6.5
    夜间模式

    开源不易,请尊重作者版权,保留基本的版权信息。