(23-09-28 Update:更新php8)
因为误操作不小心把服务器弄崩了......其实只是手贱更新了下而已......爆哭T_T
先更新到能用版本,更新到了php8.2和最新版本的typecho,添加了自动更新ssl功能。
(20-03-19 Update:全篇优化)
教你搭建属于自己的Typecho小博客~
操作系统为Debian 10,LNMP搭建,使用Cerbot免费签证的SSL牌照~
最近因为迁移站点,所以按以前写的备忘重新搭建了一遍,事实证明每次留下操作代码实在是一个极好的习惯,几分钟就弄好了,于是顺带分享一下~
(由于目前还没有图床,虽然目前已经有了图床,但我仍然觉得在网上找资料的时候会学到很多,所以并不打算太罗嗦,以下代码亲测可以使用,如有问题请自行谷歌或者留言,本文重在提供一种可行方案,而非百科式教学,诸如VPS/域名等前置条件便不在本文范围内)
— 为什么选择Typecho —
因为好看啊!
开源,极简,漂亮,原生支持Markdown,还要啥自行车?
— LNMP环境构建 —
0.使用Cerbot签证免费的SSL证书(域名以本站为例)
sudo apt install certbot
sudo certbot certonly --standalone --agree-tos -d www.higgs.xyz -d higgs.xyz
签好的SSL存放在
/etc/letsencrypt/live/你的域名/fullchain.pem
/etc/letsencrypt/live/你的域名/privkey.pem
1.运行Nginx
sudo apt -y install nginx# sudo ufw allow 'Nginx HTTP'
sudo systemctl start nginx
sudo systemctl enable nginx
# 此时可以通过ip登陆访问
2.安装Mysql数据库
sudo apt -y install mariadb-server
sudo mysql_secure_installation
# 这里会提示你设置密码,重设完密码后最后四个问题选择YnYY
sudo systemctl restart mariadb.service
sudo systemctl enable mariadb.service
sudo mysql -u root -p
# 设置root用户使用密码登陆
下面使用数据库命令操作
#--------------------------------------------
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY '你的数据库root密码' WITH GRANT OPTION;
FLUSH PRIVILEGES;
quit
#--------------------------------------------
# 新建Typecho数据库
sudo mysql -u root -p
#--------------------------------------------
CREATE DATABASE `typecho` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
exit
#--------------------------------------------
# 最后别忘了重启数据库
sudo systemctl restart mariadb.service
3.安装PHP-8.2
sudo apt -y install php8.2 php8.2-common php8.2-cli php8.2-cgi php8.2-fpm php8.2-gd php8.2-mysql php8.2-sqlite3 php8.2-pgsql php8.2-opcache php8.2-mbstring php8.2-curl php8.2-xml php8.2-xmlrpc php8.2-zip php8.2-intl php8.2-bz2
— 搭建Typecho —
4.安装站点文件
# 创建站点文件夹
sudo mkdir -p /opt/wwwroot/typecho
cd /opt/wwwroot/typecho
# 下载Typecho最新版压缩包并解压
sudo wget https://github.com/typecho/typecho/releases/latest/download/typecho.zip
sudo unzip typecho.zip
# 更改用户权限
sudo chmod -R 755 /opt/wwwroot/typecho
sudo chown -R www-data:www-data /opt/wwwroot/typecho
# 编辑Nginx配置
sudo nano /etc/nginx/conf.d/typecho.conf
5.Nginx配置文件(对应域名请自行更改)
# 此配置强制跳转https,请确保ssl已配置正确
server {
listen 80;
server_name www.higgs.xyz higgs.xyz;
add_header Strict-Transport-Security max-age=15768000;
return 301 https://www.higgs.xyz;
}
server {
listen 443 ssl http2;
ssl_certificate /etc/letsencrypt/live/www.higgs.xyz/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/www.higgs.xyz/privkey.pem;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;
root /opt/wwwroot/typecho;
index index.php index.html index.htm index.nginx-debian.html;
server_name higgs.xyz;
gzip on;
include /etc/nginx/default.d/*.conf;
location / {
if (-f $request_filename/index.html){
rewrite (.*) $1/index.html break;
}
if (-f $request_filename/index.php){
rewrite (.*) $1/index.php;
}
if (!-f $request_filename){
rewrite (.*) /index.php;
}
try_files $uri $uri/ =404;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php8.2-fpm.sock;
}
location ~ /\.ht {
deny all;
}
}
测试是否配置成功
nginx -t
# 若显示OK字样,说明配置成功,重启Nginx
sudo systemctl restart nginx
此时打开你的域名,应该进入Typecho安装页面,并且左上显示绿色小锁(即SSL配置成功)
将数据库选择为Mysql,编码选为utf8mb4,填入数据库密码,即安装成功~
到这里Typecho网站便搭建完成,你的小博客搭好啦!
添加自动更新网站证书功能:
sudo apt-get install python3-certbot-nginx
sudo certbot certonly --nginx
叼茂SEO.bfbikes.com
看的我热血沸腾啊https://www.jiwenlaw.com/
看的我热血沸腾啊https://www.ea55.com/
不错不错,我喜欢看 www.jiwenlaw.com