typecho 博客部署记录

typecho 博客部署记录

sound_kanade Lv1

1. 安装 php

Typecho 依赖于 PHP,因此需要确保 PHP 和一些常见扩展已经安装

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# 更新
apt update

# 安装
apt install php php-fpm php-mysql php-gd php-xml php-mbstring php-json -y

# 解释
php:安装最新版本的 PHP 解释器
php-fpm:安装 PHP-FPM(用于 Nginx 处理 PHP 请求)
php-mysql:安装 MySQL 扩展,用于与 MySQL 数据库交互
php-gd:安装 GD 扩展,用于图像处理
php-xml:安装 XML 扩展,用于解析 XML
php-mbstring:安装多字节字符串扩展,支持 UTF-8 等字符集
php-json:安装 JSON 扩展,用于处理 JSON 数据

# 检查版本
php -v

# 示例输出
PHP 8.2.24 (cli) (built: Sep 27 2024 04:16:10) (NTS)

2. 安装 nginx

1
2
3
4
5
6
7
8
9
apt update
apt install nginx -y

systemctl start nginx
systemctl enable nginx
systemctl status nginx

# 注:如果启动失败,查看日志定位原因
journalctl -xeu nginx.service

3. 安装 typecho

1
2
3
4
5
6
7
8
mkdir -p /opt/typecho
cd /opt/typecho

# 下载
curl -LO https://github.com/typecho/typecho/releases/latest/download/typecho.zip

# 解压
x typecho.zip

4. nginx 配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# 删除原有配置
rm /etc/nginx/sites-available/default
rm /etc/nginx/sites-enabled/default

# 添加配置文件
touch /etc/nginx/sites-available/typecho.conf
ln -s /etc/nginx/sites-available/typecho.conf /etc/nginx/sites-enabled/typecho.conf

# 编辑配置文件
vim /etc/nginx/sites-available/typecho.conf

server {
listen 80;
server_name localhost; # 填入你的域名

root /opt/typecho/typecho; # 安装的 Typecho 程序的路径

index index.php index.html;

location / {
try_files $uri $uri/ /index.php$is_args$args;
}

location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php8.2-fpm.sock; # 根据你 PHP 版本修改
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}

# nginx 配置生效
nginx -t && nginx -s reload

5. 访问 typecho 页面


点击下一步后,报错如图,是权限问题

1
2
# 修改 typecho 目录的权限,将所属用户、用户组都改为 www-data,这是 nginx 使用的用户
chown -R www-data:www-data /opt/typecho/typecho

更改权限后,进入到第二步,看到需要数据库

6. 安装 mysql

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
mkdir -p /opt/typecho/mysql
cd /opt/typecho/mysql

vim docker-compose.yml

# 启动 mysql
docker compose -f /opt/typecho/mysql/docker-compose.yml up -d

# 安装 mysql 连接工具
apt install default-mysql-client -y

# 连接测试(root)
mysql -uroot -proot --protocol=tcp

# 修改 root 用户密码
alter user 'root' identified by 'zF#hnu9&tHDOIDVh';
flush privileges;

# 再次连接测试(root)
mysql -uroot -p'zF#hnu9&tHDOIDVh' --protocol=tcp

# 创建数据库
create schema `typecho_db`;

# 创建、授权用户(typecho)
create user 'typecho'@'%' identified by 'x1od%E3K%uU0WFjs';
grant all privileges on typecho_db.* to 'typecho'@'%';

# 连接测试(typecho)
mysql -utypecho -p'x1od%E3K%uU0WFjs' --protocol=tcp
use typecho_db;

附:docker-compose.yml 内容

1
2
3
4
5
6
7
8
9
10
11
12
13
14
version: '3'

services:
mysql-typecho:
container_name: mysql-typecho
image: mysql:8.0
restart: always
ports:
- 3306:3306
environment:
MYSQL_ROOT_PASSWORD: root
volumes:
- ${PWD}/data:/var/lib/mysql
- /etc/localtime:/etc/localtime:ro

7. 继续 typecho 配置

|475
|475
|500

8. 完成

成功

  • Title: typecho 博客部署记录
  • Author: sound_kanade
  • Created at : 2024-10-30 09:31:56
  • Updated at : 2024-11-02 15:39:29
  • Link: https://blog.megumiai.com/deploy/typecho_blog_deploy_record.html
  • License: This work is licensed under CC BY-NC-SA 4.0.
Comments