typecho 博客系统安装
官网: https://typecho.org/
1. 安装 Docker
curl https://download.docker.com/linux/centos/docker-ce.repo -o /etc/yum.repos.d/docker.repo && yum install docker-ce -y && docker -v && systemctl enable --now docker
2. 创建目录
mkdir /typecho && cd /typecho && mkdir nginx/
3. 创建 nginx 配置文件
通过 nginx 代理到 typecho
cat <<'EOF' > ./nginx/default.conf
server {listen 80;server_name typecho.land.com;location / {proxy_set_header Host $host;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_pass http://typecho/;}
}
EOF
4. 创建 compose.yaml 文件
cat <<'EOF' > compose.yaml
services:typecho:image: joyqi/typecho:nightly-php8.2-apacherestart: always#ports:#- 80:80 # 转用 nginx 访问environment:TYPECHO_DB_HOST: typechodb #默认值是localhost,docker部署时可以用服务名充当主机名TYPECHO_DB_USER: MYSQL_USER #数据库用户名TYPECHO_DB_PASSWORD: MYSQL_PASSWORD #数据库密码TYPECHO_DB_DATABASE: MYSQL_DATABASE #所用的databasevolumes:- ./typecho/typecho_data:/app/usr # /app/usr是typecho数据文件depends_on:- typechodbnetworks:- blog_nettypechodb:image: mysql:9.2.0restart: alwaysvolumes:- ./typecho/db_data:/var/lib/mysqlhealthcheck:test: ["CMD", "mysqladmin", "ping", "-h", "127.0.0.1", "--silent"] # 通过 mysqladmin 工具发送一个 ping 请求检查 MySQL 容器是否响应。interval: 3sretries: 5start_period: 30senvironment:MYSQL_DATABASE: typechoMYSQL_USER: typecho #数据库用户名MYSQL_PASSWORD: typecho #数据库密码MYSQL_RANDOM_ROOT_PASSWORD: 'Root@2020' # 设置MySQL root密码networks:- blog_netblogngx:image: nginx:1.27.4restart: alwaysvolumes:- ./nginx:/etc/nginx/conf.d/ports:- "80:80"- "443:443"networks:- blog_netnetworks:blog_net:
EOF
5. 运行容器
docker compose up -d
修改系统 hosts 文件
没有 DNS 服务器解析,修改 C:\Windows\System32\drivers\etc 的 hosts 文件。
6. 安装主题
Typecho-Theme-Aria主题:https://github.com/Siphils/Typecho-Theme-Aria
7. 安装插件
开源第三方插件:https://github.com/typecho-fans/plugins