Typecho这个博客程序,说真的,是我用过的PHP建站程序里最省心的一个。朋友问我打算搭个人博客选什么好,我基本都是直接推荐它——安装包不到2MB,1核1G的服务器跑起来都轻松,后台界面干净得不像这个时代的产物,写文章、发页面、传附件,功能刚好够用,又不像大厂CMS那样塞一堆你用不上但删不掉的东西。
但部署这东西,光说"简单"没用,真踩到坑才知道深浅。Linux环境下用宝塔面板来装Typecho,算是目前最主流的组合了:宝塔把Nginx、MySQL、PHP这些零散的组件全部图形化管理,Linux命令不熟的人也能顺利把环境编排好;Typecho本身轻量,搭在Nginx上响应非常快,比Apache更省内存。这篇文章我会把完整的部署路径走一遍,从服务器选型、环境初始化,到Typecho安装、伪静态配置、SSL证书,再到常见问题排查和部署后的安全加固,每一步都讲清楚为什么要这么做,遇到报错怎么定位。适合想搭独立博客、内容站,或者只是想快速体验Typecho的新手,也适合已经装过但没整明白伪静态和安全配置的老手来查漏补缺。
1. 项目概述与环境准备
1.1 为什么选Typecho当个人站
Typecho诞生得挺早,圈子里的老用户基本都认识它。它是一款开源的PHP博客程序,核心卖点就一句话:轻、快、省心。对比WordPress那样动辄几十MB安装包、后台一堆菜单项和插件依赖的"重型工具",Typecho安装包只有几百KB,跑起来占用的内存和CPU都要低一大截。对个人博客这种"打开就能写,写了就能发"的场景来说,它刚好卡在"功能够用"和"不那么臃肿"的平衡点上。
我一直认为,个人站的核心价值是内容,不是平台。Typecho把注意力完全拉回到写作本身——Markdown写作支持得很干净,文章管理简洁,评论系统够用,主题和插件机制也足够灵活。如果你只是想安安稳稳地写点技术笔记或者日常记录,不追求网站后台有各种花哨报表和可视化编辑器,Typecho就是最合适的那个。另外一个隐藏优势是HTML源码干净,Google和百度的收录体验很好,SEO底子比很多建站程序都要好。
当然它也不是没有缺点。比如主题和插件的生态相比WordPress小很多,开发文档也不算丰富,遇到问题更多要靠社区博客和GitHub Issue。但对大多数个人博客场景来说,这个生态规模完全够用了,而且正因为选择少,反而少了"每天折腾主题"这种浪费时间的事。
1.2 服务器选型与Linux环境准备
Typecho虽然对配置要求很低,但服务器选型还是要有基本章法。CPU至少1核,内存推荐2GB起步,1GB勉强能跑,但PHP-FPM、MySQL、Nginx三个进程挤在一起的时候,内存会很紧张。带宽看你的访问量,日常个人博客1M到3M完全够用,但注意国内某些云厂商的带宽计费规则,按流量还是按固定带宽要看自己的预算。系统盘建议SSD,20GB起步,后面要装宝塔、跑日志、存备份,得留点余量。
操作系统这块,我在CentOS 7、CentOS Stream、Ubuntu 20.04/22.04、Debian 11/12之间都部署过Typecho。如果你的服务器是全新的,我更推荐Ubuntu 22.04或者Debian 12——软件源新,社区活跃,遇到问题搜答案命中率高。CentOS 7虽然经典,但官方已经停止维护,软件源也迁移了,新部署不建议再选。
买完服务器之后,第一步是SSH登录(工具可以用Xshell、FinalShell、Termius任选),然后做两件事:第一,更新系统软件包到最新,命令很简单:
# Ubuntu/Debian apt update && apt upgrade -y # CentOS/RHEL yum update -y第二,检查一下防火墙和云安全组的放行状态。记得先放行SSH端口(默认22,但建议改成不常见端口)和之后宝塔面板要用的端口,很多安装卡住的问题,其实都是防火墙把端口挡了。
1.3 宝塔面板安装与初始配置
宝塔面板是一个Linux服务器管理工具,把Nginx、MySQL、PHP、FTP、防火墙、计划任务这些运维组件全部做成图形化界面。对刚接触Linux的朋友来说,它最大的价值是不用记一大堆命令行就能把网站环境搭起来;对我这种老手来说,它也省掉了大量重复的手工编译配置工作。
安装方式非常简单,SSH登录服务器后,去宝塔官网复制对应操作系统的安装脚本执行就行。脚本是官方定制的,会自动检测系统环境并安装依赖,整个安装过程大概需要5到15分钟,取决于服务器性能和网络状况。这里顺便回答一个很多人问的问题:宝塔面板是收费的吗?答案是它分为免费版和付费专业版,免费版已经覆盖了日常建站需要的绝大多数功能,Typecho部署完全用不到付费功能,放心用免费版就好,不需要去研究什么"免费使用专业版插件"的办法,那没意义也有安全风险。
安装完成后,终端会输出面板访问地址、初始用户名和随机密码。这里有几个安全习惯务必从第一天就养成:
- 面板默认端口是8888,很多云厂商的安全组默认不放行,需要你自己去云控制台放行
- 登录面板后,立刻修改面板端口和登录入口路径,别用默认值
- 开启"面板SSL"选项,避免面板后台用明文HTTP访问
进面板后,在"软件商店"里安装Nginx、MySQL 5.7或8.0、PHP 7.4或8.1、PHPMyAdmin这几件套。装的时候版本搭配要注意,Typecho官方虽然没强制指定PHP版本,但建议至少7.4起,太老版本跑起来会有兼容性问题,后面我会细讲。
2. 核心细节解析与部署前的关键决策
2.1 PHP版本选择与扩展项配置
PHP版本这个事,是Typecho部署里最值得说道的环节。Typecho本身兼容PHP 5.6到8.2,但不同版本跑起来体验差距很大。我个人推荐用PHP 7.4,原因很实在:Typecho生态里大量老主题和插件是几年前开发的,有些语法在当时条件下还能兼容,到了PHP 8.0以后就会报错甚至白屏,而7.4作为过渡版本,兼容性最稳妥,性能也比5.6、7.0时代快一大截。
如果你是全新安装且不太用老主题,PHP 8.1其实也可以,速度更快,但遇到问题时要学会看PHP错误日志。这里有句话送给大家:别追求最新,稳定够用才是个人站的第一原则。
选好PHP版本后,在宝塔的"软件商店 -> PHP -> 设置 -> 安装扩展"里,有几个扩展是必装的:
- pdo_mysql:Typecho连接MySQL数据库的底层驱动,必备
- mbstring:中文编码和多字节字符串处理,不装的话中文标题、文章内容可能乱码
- curl:部分插件和更新检测功能会用到
- openssl:SSL证书访问和HTTPS加密依赖它
- fileinfo:上传附件时检测文件类型,避免伪装文件被放行
- opcache:PHP代码缓存,执行速度提升非常明显
安装扩展后记得重启PHP-FPM进程,否则配置不会生效。重启按钮在面板PHP设置页面的右上角,点一下就行。
2.2 数据库方案选型:MySQL还是SQLite
Typecho支持两种存储方式:MySQL(或MariaDB)和SQLite。这个选择看似不起眼,实际会影响后期的维护体验。
SQLite是一个文件型数据库,整个数据都保存在一个文件里,不需要单独安装数据库服务。它的好处是部署极简,适合在极低配置的服务器上快速试跑,或者你只是临时想体验一下Typecho。但缺陷也明显:并发写入能力弱,文章多了、评论多了之后体验会下降,而且数据备份、迁移都不如MySQL方便。
MySQL(或MariaDB)是传统的关系型数据库,Typecho从早期版本就默认适配MySQL,稳定性和文档完备度都更好。我的建议是正式部署一律用MySQL,理由有三个:一是备份方便,导出.sql文件放到新服务器导入就行;二是宝塔面板对MySQL的日常管理都做好了,建库、授权、备份都是点几下的事;三是网上90%的Typecho教程和插件都基于MySQL,遇到问题搜解决方案命中率高很多。
在宝塔面板的"数据库"菜单里新建数据库时,记得数据库名、用户名、密码都单独设置,密码建议用高强度随机密码,不要用生日、手机号这种可猜的。创建好后把这几个信息复制到记事本里,后面安装向导要用。
2.3 Nginx站点创建与伪静态规则
在宝塔面板"网站"菜单里点击"添加站点",填入你的域名,选择之前装好的PHP版本。这里有一个容易忽略的点:创建站点时弹出的"同步创建数据库"选项,建议关掉,数据库单独在"数据库"菜单里建,这样生成的库名和权限更可控。
添加完成后,Nginx配置文件会自动生成,位置在 /www/server/panel/vhost/nginx 目录下。Typecho默认的链接是带 index.php 的,比如 http://你的域名/index.php/archives/123.html,这种链接看起来不专业,也不利于SEO。所以我们要给Nginx加上伪静态规则,让链接变得简洁友好。
Typecho官方文档给出的Nginx规则是这样的:
location / { index index.html index.php; if (!-e $request_filename) { rewrite ^(.*)$ /index.php$1 last; } }操作位置在对应站点的"设置 -> 伪静态",把这段规则粘贴进去保存即可。配置完成后,访问文章链接时,Nginx会把不存在的路径重写到 index.php 上去,由Typecho的路由解析对应文章。
这里有个很多新手会踩的坑:伪静态规则贴错了位置,或者站点配置文件里已经有一段 location / 规则,再贴就冲突了,结果整个站点打不开。我的建议是先用最简单的官方规则,确认访问正常后,再按需调整。别一上来就抄网上的复杂规则,简化才是稳定之道。
2.4 域名解析与SSL证书
域名解析看起来简单,却是整个部署流程里最容易被卡住的地方。如果你用的是阿里云、腾讯云、Cloudflare等DNS服务商,添加一条A记录,记录值填服务器的公网IP,等待全球DNS生效即可。生效时间通常在几分钟到一小时,国内解析可能更快,但有时候你本地的DNS缓存没刷新,会误以为没生效,可以用在线的DNS检测工具确认。
SSL证书强烈建议在宝塔面板里直接申请。宝塔自带Let's Encrypt免费证书申请功能,申请前提是域名已正确解析到本服务器,并且站点配置的域名和证书申请域名一致。申请成功后,在"SSL"菜单里开启"强制HTTPS"和"HSTS",让所有HTTP请求自动跳转到HTTPS。
顺便提一个热搜词相关的问题:"宝塔面板 启用不安全的TLS1.0协议怎么关闭"——这个操作其实很简单,在Nginx配置文件里的 ssl_protocols 一行,改成:
ssl_protocols TLSv1.2 TLSv1.3;意思是只启用TLS1.2和1.3这两个安全版本,把不安全的TLS1.0和1.1彻底关掉。改完保存,重载Nginx配置即可。这个优化对提升站点安全评分很有帮助,建议配合免费证书一起做。
3. Typecho安装全程实操
3.1 下载Typecho源码并上传
Typecho的安装包可以从官网下载,也可以在GitHub的官方仓库下载,目前的最新稳定版是1.2.x(以官网实际显示为准)。下载下来的压缩包解压后,会得到一个包含 index.php、install.php 等文件的目录结构。
上传到服务器有两种方式,大家按习惯选。
第一种,宝塔面板的"文件"管理:把压缩包上传到站点根目录(/www/wwwroot/你的网站目录),选中压缩包点击"解压",然后把解压出来的文件剪切/移动到根目录。这种方式全程鼠标操作,对不熟悉命令行的朋友最友好。
第二种,SSH命令行方式,速度快,适合有基础的朋友:
cd /www/wwwroot/你的网站目录 wget https://github.com/typecho/typecho/releases/download/v1.2.1/typecho.zip unzip typecho.zip不管用哪种方式,上传完后访问 http://你的域名/install.php,应该能看到Typecho安装向导。如果这一步出现404或空白页,优先检查Nginx站点配置里的根目录路径是否和文件实际存放目录一致。
3.2 目录权限设置
权限问题是安装Typecho时最容易碰到的坑。安装过程中,Typecho需要往 usr 目录下写入配置文件 config.inc.php,还需要在 usr/uploads 目录下保存上传的图片附件。如果权限不够,安装向导会在第一步就报"无法写入配置文件"。
宝塔面板创建站点时,默认已经把网站目录所有者设置为 www 用户,权限是755。为了确保安装顺利,我建议在安装阶段给 usr 目录临时设置为777,等安装完成后再改回755,并单独把 config.inc.php 的权限设置为644。这样既保证了安装过程不卡壳,又减少了目录被恶意写入的风险。
如果安装过程中遇到权限报错,进入面板"文件"管理,右键对应目录,点击"权限",手动设置好所有者和权限值,然后刷新安装页面重试。这一步基本可以解决99%的"无法写入"类报错。还有一个小细节:FTP上传文件时,某些FTP客户端默认的文件权限是644、目录权限是755,如果上传后目录变成了其他权限,记得批量调整回来。
3.3 浏览器安装向导填表要点
访问 http://你的域名/install.php 后,Typecho安装向导会分几步走。第一页显示"数据库配置",需要填写数据库信息。这里我见过太多人填错,重点说几个:
第一,数据库用户名和密码。注意,这里填的不是宝塔面板的账号密码,而是你在宝塔"数据库"菜单里创建的那个MySQL数据库的用户名和密码,两个是两个系统,别混。
第二,数据库地址。大部分情况填 localhost 或者 127.0.0.1 都可以。宝塔默认配置下填 localhost 通常能成功,如果提示连接失败,改成 127.0.0.1 再试一次,这个修改能解决很多莫名其妙的连接问题。
第三,数据库名。要填你在宝塔里创建的那个数据库的全名,不要自己改拼写或添字。数据库名一般是一长串小写字母加数字,复制粘贴最稳妥。
第二页是站点配置:设置管理员用户名、登录密码、邮箱,以及站点时区。时区直接选"中国时区"(Asia/Shanghai)就好。填完后点击"安装",正常几秒就会进入Typecho后台登录页面。如果卡住或报错,回看第4章的问题排查。
3.4 后台初始设置与基本优化
安装完成登录后台后,第一件事就是到"控制台 -> 设置 -> 基础设置"里检查几个配置项:
- 站点名称:改成你自己的博客名称
- 站点地址:填你的域名,带不带 www 要和后面配置的保持一致,否则可能出现部分链接生成错误
- 时区:确认是 Asia/Shanghai
- 日期时间格式:按自己喜好调整,比如 Y-m-d H:i:s
然后发布一篇测试文章,看看链接什么样。如果文章链接还是带着 index.php 的样子,说明前面Nginx伪静态规则没生效,回到站点设置里重贴一遍规则,然后清理浏览器缓存再看。
接下来可以配置永久链接结构。Typecho默认的文章链接是 /archives/数字.html,其实已经很简洁了,一般不用改。但如果你喜欢日期型链接或者分类型链接,可以在"设置 -> 永久链接"里调整。需要注意,修改永久链接后,旧链接可能失效,所以第一次就定好结构,尽量别在站点上线后频繁改。
主题和插件的安装我也顺便说一下:下载主题或插件压缩包后,在后台"外观"或"插件"菜单里上传安装即可,也可以手动上传到 usr/themes 或 usr/plugins 目录,再到后台启用。Typecho的Markdown写作体验很好,后台写文章时默认就支持Markdown语法,没有太多需要配置的东西,装好主题和插件之后基本就能开写了。
4. 常见问题与排查技巧实录
4.1 数据库连接失败
安装向导报"数据库连接失败"是最常见的问题。排查顺序按下面来:
- 检查MySQL服务是否运行中:宝塔面板 -> 数据库 -> 服务状态,如果是停止状态,点击启动
- 检查数据库名、用户名、密码是否填错:去宝塔"数据库"菜单里重新看一眼,确认没有多打或少打字符
- 检查数据库地址是 localhost 还是 127.0.0.1,两个切换试一下
- 检查数据库用户是否有权限访问这个库:宝塔创建数据库时默认绑定了权限,一般不会错,但如果你手动创建过同名库或同名用户,可能权限对应混乱
这里分享一个我踩过的隐蔽坑:如果服务器上安装了多个PHP版本,而你创建站点时选择的PHP版本和数据库配置不匹配(比如PHP 8.1的pdo_mysql扩展没装),那MySQL连接也会报错。解决办法是到"软件商店 -> PHP -> 设置 -> 扩展"里确认pdo_mysql扩展已安装并重启PHP。
4.2 404页面无法访问
首页能打开,但访问文章链接(比如 /archives/1.html)出现404,90%的原因是Nginx伪静态没配置,或者配置了没有生效。
处理步骤:
- 宝塔面板 -> 网站 -> 对应站点 -> 设置 -> 伪静态,确认规则内容无误
- 保存规则后,再点一次"配置文件",确认规则确实写入了对应server块
- 如果规则没问题,清一下浏览器缓存,用无痕窗口重新访问
如果以上都做了还是404,检查一下站点根目录下是否有 .htaccess 文件(这是Apache的重写规则,Nginx不识别,但有时候会被模板或工具带进来)。有的话不影响Nginx,但如果同时存在其他location规则冲突,就可能导致404,可以先把配置文件里多余的location块注释掉再测试。
4.3 502 Bad Gateway
502通常意味着PHP-FPM进程挂了,或者PHP版本与站点配置不匹配。排查路径:
- 去宝塔面板"软件商店 -> PHP -> 设置 -> 状态"里看PHP-FPM是否在运行
- 如果没运行,点击启动,然后在站点设置里确认选择的PHP版本是正在运行的那个版本
- 查看PHP-FPM日志:/www/server/php/你的PHP版本/var/log/php-fpm.log,定位具体报错
实际部署中,502经常出现在安装了opcache等扩展之后忘了重启PHP-FPM的情况。解决办法就是重启,面板上有"重启"按钮,点一下几秒就好。还有一种少见情况是PHP-FPM的listen配置的socket路径和Nginx配置里不一致,导致Nginx连接不上PHP-FPM,这种情况检查Nginx配置文件里的 fastcgi_pass 参数,确保和PHP-FPM的listen配置对应。
4.4 伪静态不生效
伪静态配置完,首页正常,但文章链接还是带index.php,或者点击文章链接404。这有两种可能:
第一种是规则没生效。在宝塔面板"伪静态"里粘贴规则后,要点右侧保存按钮,再回到"配置文件"确认规则确实写入了。
第二种可能是PHP的pathinfo模式问题。Typecho对pathinfo处理得还算好,但如果Nginx配置里限制了PATH_INFO传递,也可能导致文章页面404。解决方法是在站点的Nginx配置文件的server块中加入:
location ~ .*\.php { fastcgi_pass unix:/tmp/php-cgi-74.sock; fastcgi_param PATH_INFO $fastcgi_path_info; fastcgi_index index.php; include fastcgi.conf; }这里的 unix:/tmp/php-cgi-74.sock 要根据你实际PHP版本修改,在宝塔"PHP -> 配置文件"里能找到 listen 那一行的实际socket路径。不过很多情况下,只要伪静态规则贴对了,不会走到pathinfo这一步。
4.5 上传文件失败
后台写文章时上传图片附件失败,基本就是几个原因:
- usr/uploads 目录没有写权限:把该目录所有者改为 www,权限设置755
- PHP的upload_max_filesize默认只有2M:到"PHP -> 设置 -> 上传限制"里改大,比如20M
- post_max_size 也要一并改大,否则表单提交大数据会被服务器拒绝
- 服务器磁盘满了:执行 df -h 看看磁盘使用率,备用方案是清理日志和备份
还有一个容易忽略的点:如果你使用了CDN或对象存储插件上传附件,那问题可能出在插件的API配置上,跟服务器权限无关,需要到插件设置页面重新校验密钥和存储路径。上传失败后记得看PHP-FPM日志和Nginx的error.log,里面通常有具体的错误描述,比瞎猜定位快得多。
5. 部署后的安全加固与性能调优
5.1 目录权限与防注入
Typecho源码目录本身不大,但权限分配要做到最小化。我一般按下面这样分:
- 网站根目录:目录权限755,文件权限644
- usr/ 目录:给 www 用户写权限,主题插件的写入和更新需要
- usr/uploads/ 目录:www 用户写权限,用户上传的附件都存这里
- install.php:安装完成后直接删除,或多加一道访问控制,避免被再次执行安装逻辑
防注入方面,Typecho本身对SQL注入和XSS做了不少防护,这篇文章就不展开讲代码层面了,但服务器层面至少要做两件事。第一,启用宝塔面板的系统防火墙,关闭不必要的外网端口。第二,在Nginx配置里增加一段规则,隐藏掉备份文件、数据库导出文件、日志文件这类可能包含敏感信息的内容:
location ~* (\.bak|\.old|\.swp|\.sql|\.log)$ { deny all; }这段规则会禁止外部直接访问 .bak、.sql、.log 等后缀的文件。很多人习惯把数据库备份文件放到网站目录下,如果不加这个限制,被搜索引擎或恶意扫描者抓到,后果很严重。顺带提醒一下,备份文件尽量放在站外目录,比如 /backup 或者单独挂载的云盘。
5.2 缓存与CDN配置
Typecho已经很轻量,但访问量上来了之后,缓存优化还是值得做的。我先按优先级排序。
第一层是PHP层面的OpCache。在宝塔面板"PHP -> 设置 -> OpCache"中开启,内存大小建议128M。它的原理是把PHP脚本编译后的字节码存到共享内存里,下次请求直接复用,省掉了重复解析代码的过程,对降低响应时间效果立竿见影。开启后记得重启PHP-FPM。
第二层是页面静态化缓存。Typecho有几种静态缓存插件,原理是首次访问某页面时,把生成的HTML缓存到文件里,后续访问直接读取静态文件,不再执行PHP代码。但要注意,如果你开了评论功能,静态页缓存会导致评论无法实时显示,需要配置定时更新或评论触发更新。个人博客如果评论量不大,建议还是用动态模式,避免缓存不一致的麻烦。
第三层是CDN加速。国内云厂商的CDN都可以接入,海外访问量大的话可以用Cloudflare免费版。接入CDN后,静态资源(图片、CSS、JS)由边缘节点分发,源站压力大幅降低。有一个注意事项:如果源站开了HTTPS,CDN也要配置好证书回源,否则页面会出现混合内容警告。另外,如果CDN和源站的缓存配置不对,可能导致后台更新文章后前台看不到变化,这时候需要到CDN控制台刷一下缓存。
5.3 定时备份方案
数据无价,备份必须养成习惯,不然哪天手滑删库或被入侵,哭都没地方哭。
宝塔面板最直接的备份方式是"计划任务":在"计划任务"里添加一个"备份网站"任务和一个"备份数据库"任务,周期设置为每天或每周,备份目录选一个独立磁盘(最好是另一块云盘或挂载盘)。宝塔默认会保留最近几份备份,可以设置保留份数,比如3份,避免无限堆积占满磁盘。
如果你想更稳一点,可以写一个Shell脚本,把数据库dump出来后自动上传到远程对象存储(比如COS、OSS、S3)。核心命令大概是这样的:
#!/bin/bash # 数据库备份并同步到远程存储 mysqldump -u用户名 -p密码 数据库名 > /backup/typecho_$(date +%Y%m%d).sql # 压缩后上传到对象存储的脚本,这里按你使用的云厂商SDK来写我自己是把备份任务分成两组:网站文件每天凌晨4点备份,数据库每天凌晨5点备份,各保留最近7天的版本。加上一个上传远程存储的同步任务,做到双保险。实测一年多了没出过岔子,但备份不是为了今天用,而是为了不确定的明天。
5.4 日志查看与攻击防护
日志是排障的第一手资料,中文世界里很多人不太看日志,出了问题全靠猜,效率极低。宝塔面板的日志在 /www/wwwlogs/ 目录下,文件名一般是你的站点域名_access.log 和 域名_error.log。访问异常时看access日志,页面报错时看error日志,配合PHP-FPM的日志,绝大多数问题都能定位到具体原因。
安全方面,宝塔面板自带的"系统防火墙"插件提供了一些基础功能,比如防CC攻击、禁止恶意解析、IP黑白名单等。如果站点被恶意扫描,可以直接把异常IP拉黑。更轻量一点的做法,是在Nginx层面加一个限流配置:
limit_req_zone $binary_remote_addr zone=blog:10m rate=10r/s; server { location / { limit_req zone=blog burst=20 nodelay; } }意思是每个IP每秒最多10次请求,允许突发最多20次。一旦有人疯狂刷页面或尝试爆破,Nginx会直接返回503,把对PHP进程的影响降到最低。这里提醒一句,限流参数要结合自己的实际访问量来调,如果设置的rate太低,可能把正常的搜索引擎爬虫也拦在门外。
最后再提一个经常被忽视的安全点:数据库账号不要用root。宝塔创建的站点数据库用户都是独立的专用权限账号,Typecho连接数据库时就用这个专用账号,别为省事改成root。一旦网站代码被利用,拿到的是MySQL全权限,那后果就更严重了。我自己部署完Typecho后,还习惯手动改一下后台登录路径,比如把admin目录名改成一个不常见的字符串,虽然不能完全防住攻击,但至少能减少被脚本批量扫描命中这个后台的可能性。
Typecho部署整个过程总结下来,就是"轻、稳、简"三个字。只要PHP版本选对、伪静态规则贴对、目录权限给对,基本一次就能装好。个人博客本身就是重内容轻形式的东西,越简单越好,Typecho正好卡在这个点上。我在实际操作中的体会是,安装只是第一步,真正花时间的其实是安装完之后的备份机制和安全配置——很多新人装完就放着不管,几个月后遇到问题才发现备份没做、日志没开,临时抱佛脚就很被动。这篇里关于权限、备份、日志的几个小节,建议认真看完再动手,好过事后补课。后面你自己跑熟了,会发现Typecho部署这件事,真的就是半小时以内能搞定的活。