首页
关于
友链
留言
统计
Search
1
基于Rocky Linux 8.10系统使用源码搭建LNMP环境,附加安装SQLite
324 阅读
2
阿里云轻量应用服务器图文安装红帽系统RHEL8.10
73 阅读
3
.NET Framework
56 阅读
4
博客测试文章
33 阅读
5
VMware Workstation Pro
20 阅读
软件整理
C/C++学习笔记
Linux学习笔记
博客搭建
杂项
Search
标签搜索
Nginx
测试
LNMP
Typecho
红帽系统
Alpine Linux
GRUB
windows
PowerShell
MySQL
SQLite
PHP
Rocky Linux
HTTPS
SSL
Let's Encrypt
GDB
博客
Apache
SQLite3
hansyee
累计撰写
105
篇文章
累计收到
2
条评论
首页
栏目
软件整理
C/C++学习笔记
Linux学习笔记
博客搭建
杂项
页面
关于
友链
留言
统计
搜索到
1
篇与
的结果
2026-03-28
网站迁移问题记录
前端时间因为一些原因将阿里云服务器上的系统从Rocky Linux 8.10变更到Ubuntu 24.04 LTS了,在变更之前呢,将上面之前自建的Typecho博客,也就是本站点迁移到了很久之前买的一个共享云虚拟主机上。 迁移过程还算比较顺利,因为网站使用的SQLite3数据库,图资源用的七牛云存储,基本只要将网站目录的整个文件夹上传到云虚拟主机即可,再修改一些参数就能正常访问了,这里记录下遇到的一些问题。Typecho博客的SQLite数据库路径配置问题 得益于SQLite3单文件数据库的特性,迁移数据比较方便,直接整个文件复制即可。但是需要注意的是,在不同环境下,数据库的位置参数要同步更新,否则无法正常访问。在安装好的Typecho博客的根目录下的config.inc.php文件内,就有如下类似配置:// config db $db = new \Typecho\Db('SQLite', 'typecho_'); $db->addServer(array ( 'file' => '/var/www/html/all_17zturn_com/usr/123456.db', ), \Typecho\Db::READ | \Typecho\Db::WRITE); \Typecho\Db::set($db);其中的file就指定了SQLite数据库文件的位置,如果要迁移到不同的环境,就必须要更改这个参数。拿我的共享云虚拟主机举例,它需要修改为:'file' => '/usr/home/username/htdocs/usr/123456.db',这里的username是云虚拟主机实际的用户名,这样修改后才能正常读取数据库。SQLite数据库版本问题 遇到的第二个问题就是云服务器和云虚拟主机对SQLite3数据库的版本支持不同。因为云虚拟主机是我很早之前买的一款共享虚拟主机(因为及其便宜就一直在续费以作备用),支持的软件版本相对较旧,并且其软件配置相对固定,个人无法做很大调整,而云服务器就灵活很多,可自主选择软件版本,本站点就是基于当时的最新软件搭建而成。所以迁移之后,打开网站的第一个问题就是数据库无法正常访问。 对于这个问题,我采用了最笨但有效的方法:直接重新安装一次博客,数据库依然选择SQLite,这样就会自动生成一个新的匹配当前环境的数据库文件,然后将原数据库的数据导入到这个新的数据库即可。 伪静态问题 迁移后发现地址重写功能没有了,因为自建的环境是基于Nginx的,自己写了地址重定义规则。而云虚拟主机使用的Apache服务器,这里主要参考使用URL Rewrite配置云虚拟主机的伪静态功能来写地址重定义规则。主要是在网站根目录下新建.htaccess文件,添加如下内容即可:<IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ /index.php/$1 [L] </IfModule>
2026年03月28日
0 阅读
0 评论
0 点赞