运行环境

Ubuntu 20.04

安装PHP7.4

首先需要添加php存储库

# 更新apt软件源
sudo apt update

# 添加存储库
sudo apt install software-properties-common
sudo add-apt-repository ppa:ondrej/php

添加完成后可以安装php7.4

# 安装php7.4
sudo apt install php7.4

# 安装常用依赖库
sudo apt install php7.4-fpm php7.4-mysql php7.4-xml php7.4-curl php7.4-gd php7.4-json php7.4-mbstring php7.4-intl php7.4-bcmath php7.4-bz2 php7.4-zip

安装Nginx

终端下输入下述指令

# 安装nginx
sudo apt install nginx

如果用于部署网站,注意防火墙是否放行相应端口,例如使用ufw放行80端口(如果使用云服务器提供商,也需要在对应管理面板放行相应端口):

# 使用ufw放行80 端口
ufw allow 80/tcp

# 使用ufw放行443 端口
ufw allow 443/tcp

启动nginx服务器

# 启动nginx
systemctl start nginx

# 注意:如果此时显示端口被占用,请检查Appche是否正在运行,这会导致端口冲突
# 如果在运行,请执行下面的步骤
# sudo /etc/init.d/apache2 stop

安装mysql

执行以下命令安装mysql

sudo apt install mysql-server

初始化数据库

# 进入数据库
mysql

#进入mysql后更改root密码为mynewpassword
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password by 'mynewpassword';
 
#创建一个名为typecho_blog的数据库
CREATE DATABASE typecho_blog;
 
#随后退出mysql
exit

安装Typecho

选择一个路径,下载Typecho程序包,此处以/home为例

cd /home

# 下载typech0.zip到当前目录
wget https://github.com/typecho/typecho/releases/download/v1.2.1/typecho.zip

# 解压到指定目录
unzip typecho.zip -d ./typecho

接下来编辑nginx配置文件,添加一个服务,使服务器定位到typecho所在位置

nginx配置文件默认在/etc/nginx/nginx.conf,添加server

# 下面为我添加的配置文件,仅供参考

server{
    # 监听80端口
    listen 80;
    # 是否使用域名,如果没有则无需添加
    # server_name www.xxx.com;
    
    # 注意:这里为typecho项目所在的目录,例如/home/typecho
    root /var/www/html;

    # Add index.php to the list if you are using PHP
    index index.html index.htm index.php;
    
    if (!-e $request_filename) {
            rewrite ^(.*)$ /index.php$1 last;
        }

    location / {
            try_files $uri $uri/ /index.php$is_args$args;
    }
    
    # php配置
    location ~ \.php$ {
               include fastcgi.conf;
            include fastcgi_params;
            fastcgi_pass unix:/run/php/php7.4-fpm.sock;
        }
}
}

接下来重启nginx服务

systemctl restart nginx

访问http://your_ip_address,按照网站的指示初始化网站。

常见问题

上传目录无法写入, 请手动将安装目录下的 /usr/uploads 目录的权限设置为可写然后继续升级

手动为/usr/uploads添加权限,注意此处为相对路径

# 添加读写权限
chmod -R a+w /path/to/typecho/usr/uploads