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