📖超轻量博客系统typecho——本地手动部署教程

同步来源:树洞剪藏 源站剪藏 ID:395 原文地址:https://www.nodeseek.com/post-220136-5
📖超轻量博客系统typecho——本地手动部署教程
NodeSeek beta 日常 技术 情报 测评 交易 拼车 推广
📖超轻量博客系统typecho——本地手动部署教程
Rational Lv 6 楼主 1h 11min ago edited 31min ago in 技术 0
博客地址: youdao.li
RSS源: https://youdao.li/feed/
Typecho 是一个简洁、高效的 PHP 博客系统。为什么选择它?因为它轻量!轻量!轻量!与其选择那些基于 Docker 的部署脚本,不如直接在 Linux 上手动部署,这样不仅能够保持 Typecho 原有的轻量特性,还能避免 Docker 容器带来的额外开销。容器虽然方便,但对于一个本身已经非常轻量的博客系统来说,容器的加入反而显得有些“本末倒置”。当然,如果你对本地环境的隔离要求较严格还是选择docker较为合适。
在这篇教程中,我将展示如何在 Debian 12 系统上,手动安装并优化配置 Typecho,而无需依赖 Docker。通过一步一步的指导,你将学会如何使用 Nginx、MySQL 和 PHP 来搭建一个高效、安全的 Typecho 博客。
- 更新系统
apt update apt upgrade -y
- 安装 Nginx
apt install nginx -y systemctl start nginx systemctl enable nginx
- 安装 MySQL(MariaDB)
apt install mariadb-server -y systemctl start mariadb systemctl enable mariadb
配置 MySQL 安全性
mysql_secure_installation
在执行 mysql_secure_installation 时,会问你几个问题:
Enter current password for root: 直接按回车
Set root password? [Y/n]:输入 Y,然后设置 root 密码
Remove anonymous users? [Y/n]:输入 Y
Disallow root login remotely? [Y/n]:输入 Y
Remove test database? [Y/n]:输入 Y
Reload privilege tables now? [Y/n]:输入 Y
- 为 Typecho 创建数据库和用户
mysql -u root -p
使用root身份连接mysql -u表示指定用户名 -p表示需要输入密码
在 MySQL 命令行中执行:
CREATE DATABASE typecho; CREATE USER 'typecho' @ 'localhost' IDENTIFIED BY '设置一个密码' ; GRANT ALL PRIVILEGES ON typecho. * TO 'typecho' @ 'localhost' ; FLUSH PRIVILEGES; exit;
创建名为typecho的数据库,并创建一个typecho用户,指定其此用户仅允许本地访问,且设置一个密码,然后并授予该用户对 typecho 数据库的所有权限。最后刷新一下。
- 安装 PHP 及必要扩展
apt install php-fpm php-mysql php-gd php-curl php-mbstring php-xml php-zip -y systemctl start php8.2-fpm systemctl enable php8.2-fpm
- 下载和配置 Typecho
cd /var/www/html wget https://github.com/typecho/typecho/releases/latest/download/typecho.zip apt install unzip -y unzip typecho.zip chown -R www-data:www-data /var/www/html chmod -R 755 /var/www/html
将 /var/www/html 及其所有文件和子目录的所有者和所属组设置为 www-data , www-data 是 Apache 或 Nginx Web 服务器通常使用的用户和组。
- 配置 Nginx
nano /etc/nginx/sites-available/typecho
方式一:通过域名访问的配置
server { listen 80; server_name examle.com; # 替换为你的域名或服务器IP root /var/www/html; index index.php index.html;
location / { try_files $uri $uri/ /index.php?$args; }
location ~ .php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/var/run/php/php8.2-fpm.sock; }
location ~ /.ht { deny all; } }
方式二:通过ip+端口访问的配置(便于反代)
server { listen 8080; # 改为你想要的端口号 server_name 你的服务器IP; # 直接填写服务器IP root /var/www/html; index index.php index.html;
location / { try_files $uri $uri / /index.php? $args ; }
location ~ .php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/var/run/php/php8.2-fpm.sock; }
location ~ /.ht { deny all; } }
- 启用站点配置
ln -sf /etc/nginx/sites-available/typecho /etc/nginx/sites-enabled/ rm /etc/nginx/sites-enabled/default nginx -t systemctl restart nginx
- 访问网站完成安装
现在你可以通过浏览器访问你的域名或服务器IP,会看到 Typecho 的安装界面。按照以下步骤完成安装:
选择"开始安装"
数据库适配器选择 "MySQL"
数据库地址填写 "localhost"
数据库端口保持默认 "3306"
数据库用户名填写 "typecho"
数据库密码填写你之前设置的密码
数据库名填写 "typecho"
创建管理员账号和密码
注意事项:
确保防火墙允许 80 端口访问:
apt install ufw ufw allow 80/tcp ufw enable
如果遇到权限问题,可以检查:
chmod -R 755 /var/www/html chown -R www-data:www-data /var/www/html
如果网站打不开,可以查看日志:
tail -f /var/log/nginx/error.log
记得定期备份数据:
mysqldump -u root -p typecho > typecho_backup.sql
配置Https
首先安装 certbot 和 Nginx 插件:
apt install certbot python3-certbot-nginx -y
申请证书:
certbot --nginx -d examle.com
执行过程中会:
询问你的邮箱地址(用于证书过期提醒)
是否同意服务条款(输入 Y)
是否愿意分享邮箱(可以输入 N)
是否自动将 HTTP 跳转到 HTTPS(输入 2,选择自动跳转)
检查证书自动续期是否配置正确:
systemctl status certbot.timer
手动测试续期命令(不会真的续期,只是测试):
certbot renew --dry-run
查看 Nginx 配置文件,确认 certbot 是否正确修改了配置:
cat /etc/nginx/sites-available/typecho
你应该能看到类似这样的配置:
server { server_name examle.com; root /var/www/html; index index.php index.html;
location / { try_files $uri $uri/ /index.php?$args; }
location ~ .php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/var/run/php/php8.2-fpm.sock; }
location ~ /.ht { deny all; }
listen 443 ssl; ssl_certificate /etc/letsencrypt/live/examle.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/examle.com/privkey.pem; include /etc/letsencrypt/options-ssl-nginx.conf; ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; }
server { if ($host = examle.com) { return 301 https://$host$request_uri; }
listen 80; server_name examle.com; return 404; }
重启 Nginx 使配置生效:
nginx -t systemctl restart nginx
确认防火墙允许 HTTPS 流量:
ufw allow 443/tcp
现在你可以通过以下方式验证配置:
在浏览器访问 http://examle.com - 应该会自动跳转到 https
访问 https://examle.com - 应该能看到安全锁标志
查看证书详情,确认是 Let's Encrypt 颁发的
自动续期说明:
证书有效期为 90 天
certbot 会自动在证书过期前 30 天尝试续期
续期是自动的,不需要人工干预
如果续期失败,你会收到邮件通知
可能遇到的问题及解决方案:
如果申请证书失败,检查:
- 域名是否正确解析到服务器IP
- 80和443端口是否开放
- 防火墙设置是否正确
如果网站打不开,检查日志:
tail -f /var/log/nginx/error.log
查看证书状态:
certbot certificates
如果需要手动更新证书:
certbot renew
⚡️HomePage | 域名出售
5 0 8 引用 回复
1 2 3 4 5
poi 1h 8min ago
2
不错不错,我都一键就完事了,比如BT一键。
TG | pm | 收建站机 | 混迹于loc,交易看loc信誉
1 0 引用 回复
CDkey51 1h 10min ago 1
技术贴,点赞👍
0 0 引用 回复
qige 活跃 1h 7min ago 3
好长
我都是虚拟主机装
个人小站 Blog | A大有名论坛 | iKun论坛
其他 椰子 | Telegram(偶尔使用) | 出售域名 buildon.app (视频解析) | WhatsApp
0 0 引用 回复
aessy 1h 7min ago 4
我选docker compose一键梭哈
垃圾小鸡,毁我青春!
国家一级抬杠运动员!伦敦奥运抬杠项目金牌得主!
0 0 引用 回复
YOUKOVO 1h 6min ago 5
cy
0 0 引用 回复
koalalove 1h 6min ago 6
但就程序来说确实轻量
站内私信✉️ | Telegram✈️
0 0 引用 回复
Rational 楼主 1h 6min ago 7
@poi #2
能轻量尽量轻量哈哈 这样也省去了宝塔的额外开销了
⚡️HomePage | 域名出售
0 0 引用 回复
qning 1h 6min ago 8
ty佬友,前来帮顶 https://qninq.cn/
2024重新开始搞博客| 倾城于你 | 以针会友 | 国内公益图床
0 0 引用 回复
keo 1h 6min ago 9
bd
0 0 引用 回复
docker 1h 5min ago 10
求一键集成脚本
站内私信 | tg联系✈️ 丨 cc/cloudcone 最新机器转移码教程 丨 v0探针
0 0 引用 回复
Rational 楼主 1h 17min ago #11
@qning #8
你这整的挺好的呀 感觉用typecho的好大一部分人都是冲着handsome来的
⚡️HomePage | 域名出售
Rational 楼主 1h 15min ago #12
@docker #10
本人是不太建议过于依赖一键脚本的 这样后期出现什么bug就束手无策了
玩鸡鸡的过程中也学学简单的命令行操作
⚡️HomePage | 域名出售
smit 1h 15min ago #13
感谢分享
dajie000 活跃 1h 14min ago #14
还是觉得docker方便些
站内私信 | 联系TG | 收售小鸡欢迎选购
Rational 楼主 1h 14min ago #15
@aessy #4
各有利弊吧 梭哈方便点 但会臃肿一些
⚡️HomePage | 域名出售
poi 1h 13min ago edited 1h 13min ago #16
@Rational #7
手动太麻烦了,指不定还弄不起来,感觉还是上面板省心点。哪里不会点哪里,不准备搞个mysql版本
TG | pm | 收建站机 | 混迹于loc,交易看loc信誉
Rational 楼主 1h 12min ago edited 1h 11min ago #17
@poi #16
都可以的 多一个选择
也是因为前几天有个朋友想部署 但他担心面板的安全性问题 所以最后帮他手动部署了
顺便就写了个教程篇
⚡️HomePage | 域名出售
muxui 1h 6min ago #18
✈️TG | ✉️私信
reror 1h 4min ago #19
可以补充一下sqlite的版本,更轻量
BuluBiu 1h 4min ago #20
好帖, 可惜打算转hugo了 https://hugo.aliya.us.kg/
((••)) || Whois || 导航网站 || 美团图床 || 自建博客 || 留言板 || 金将军!忠诚!
DocksToBox 1h 4min ago #21
求docker
Gang5187 1h 3min ago #22
哇,真是非常好的技术贴,鸡腿奉上,终于可以学习手搓了。
TG联系我 | 站内PM
Rational 楼主 1h 2min ago #23
@reror #19
最初自己的博客就是用的MariaDB 就懒得换了 确实sqlite会更轻量
⚡️HomePage | 域名出售
Siamese7 58min ago edited 58min ago #24
@Rational #0 docker部署东西和轻量不轻量没关系。主要是防止项目污染本地环境
TG联系
王龙 56min ago #25
看见这域名, 差点就注册了meidao.li
Rational 楼主 51min ago #26
@Siamese7 #24
⚡️HomePage | 域名出售
应无所住 50min ago #27
有道理?
200MB
Rational 楼主 49min ago edited 49min ago #28
@王龙 #25
哈哈哈 ecouu.com 也能访问
⚡️HomePage | 域名出售
sasha 48min ago #29
你博客图片挂了
*****出域名 china.mk 趣域站内 push *****
Rational 楼主 47min ago #30
@sasha #29
哪一篇文章呢 有没有可能是CF抽风了(源站在海外)
⚡️HomePage | 域名出售
sasha 41min ago #31
@Rational #30 我就在墙外,所有封面图全挂了
*****出域名 china.mk 趣域站内 push *****
Rational 楼主 39min ago edited 38min ago #32
@sasha #31
这就奇怪了 问了好几个人都能正常加载
我也没开地域限制呀🤔
⚡️HomePage | 域名出售
sasha 36min ago #33
@Rational #32 你是不是开了cf验证
*****出域名 china.mk 趣域站内 push *****
Rational 楼主 33min ago edited 26min ago #34
@sasha #33
我靠 才想起来图床是在另一个域名上 配置了waf
你该不会正好在允许地域之外吧😂
⚡️HomePage | 域名出售
Rational 楼主 32min ago #35
@sasha #33
我把地域限制关了 现在呢
⚡️HomePage | 域名出售
Aicnal 31min ago #36
@aessy #4
有无 compose 分享一下?
本人在此平台发表的任何言论,均非本人观点
sasha 31min ago #37
@Rational #35 现在可以打开了
右击图片,在新标签中打开,cf验证一闪而过,所以我猜是cf验证的事
*****出域名 china.mk 趣域站内 push *****
Rational 楼主 30min ago edited 30min ago #38
@sasha #37
okok 忘了把俄罗斯加进来了
⚡️HomePage | 域名出售
Copper 27min ago #39
顶爆,有时间试一下
探针
oraclecloud 18min ago #40
直接用mkdocs,丑是丑了点
PM✉️ | TG✈️
Agmes 14min ago edited 11min ago #41
blog UI很好看哦,给你🍗。
另外这么久了还能见你在此站活跃着,很难得。
Cancanneed 10min ago #42
mark.
1 2 3 4 5
内容 预览 对照
支持 markdown语法
鼓励友善发言,禁止人身攻击
xxxxxxxxxx
1
1
AC娘
洋葱头
小黄鸡
发布评论
88
等级 Lv 4 鸡腿 2015 关注 0 回复 0 我 0
主题帖 11 评论数 301 粉丝 2 收藏 211 私信 0 发帖
快捷功能区 推荐阅读 管理记录 幸运抽奖 邀请好友 合作商家 友站链接
所有版块 日常 技术 情报 测评 交易 曝光 拼车 生活 贴图 推广 内版 Dev 无意义 沙盒
📈用户数目📈
目前论坛共有23828位seeker
🎉欢迎新用户🎉
yinjianbaigu
road
大宝宝
Lunar-
WuJi
toryln
mxmilu
相关网站 LowEndTalk LowEndSpirit HostLoc ServerHunter
站内导航 关于本站 隐私协议 RSS订阅 sitemap
商业推广 商家申请规则 Premium Provider 合作商家展示
其他平台 电报频道 电报群组
联系我们
Copyright © 2022 - 2024 All rights Reserved set 限制解除