Rocky Linux 系统安装 typecho 个人博客系统(Docker 方式)
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-apache
restart: 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 #所用的database
volumes:
- ./typecho/typecho_data:/app/usr # /app/usr是typecho数据文件
depends_on:
- typechodb
networks:
- blog_net
typechodb:
image: mysql:9.2.0
restart: always
volumes:
- ./typecho/db_data:/var/lib/mysql
healthcheck:
test: ["CMD", "mysqladmin", "ping", "-h", "127.0.0.1", "--silent"] # 通过 mysqladmin 工具发送一个 ping 请求检查 MySQL 容器是否响应。
interval: 3s
retries: 5
start_period: 30s
environment:
MYSQL_DATABASE: typecho
MYSQL_USER: typecho #数据库用户名
MYSQL_PASSWORD: typecho #数据库密码
MYSQL_RANDOM_ROOT_PASSWORD: 'Root@2020' # 设置MySQL root密码
networks:
- blog_net
blogngx:
image: nginx:1.27.4
restart: always
volumes:
- ./nginx:/etc/nginx/conf.d/
ports:
- "80:80"
- "443:443"
networks:
- blog_net
networks:
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