运行环境
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