欢迎光临
我们一直在努力

不想折腾,却不得不折腾

本站搭建在香港阿里云服务器,为了少折腾,一次性买了5年。

但人算不如天算,6月28日开始,本站在大陆无法访问,联系客服,回复说域名被上游网络阻断。至于为什么,没人知道。自问本站内容没啥问题,猜测可能被误伤,寄希望于7月2日能够恢复。但直到深夜,依然无法访问。

没办法,只好重新购买阿里云大陆服务器,迁移网站。

以前写过两篇总结:

  • 博客迁移到Typecho
  • 搭建mastodon实例和typecho数据库迁移

因为使用了sqlite3数据库,不涉及MySQL迁移,以为能够很快搞定,没想到还是一堆坑。记录下填坑过程。

1、将原站点目录连同sqlite3数据文件和nginx配置文件,全部迁移到新服务器

旧服务器上

cp /etc/nginx/sites-available/www.skyue.com /home/typecho/www.skyue.com # 把nginx配置文件也复制到站点目录
zip -r typecho.zip /home/typecho/  # 将站点文件夹压缩为zip文件
mv typecho.zip /home/typecho/usr/uploads/ # zip文件复制到可访问目录

新服务器上

curl https://www.skyue.com/usr/uploads/typecho.zip -o typecho.zip # 站点文件
apt install zip # 新服务器上没有zip软件,新安装
unzip typecho.zip # 解压站点文件夹

后面的事情全部在新服务器上。

2、安装nginx和php

apt install nginx
apt install php

3、将nginx配件文件复制到配置目录并创建软链接

cp /home/typecho/www.skyue.com /etc/nginx/sites-available/www.skyue.com 
ln -s /etc/nginx/sites-available/www.skyue.com /etc/nginx/sites-enable/www.skyue.com 

4、重新加载nginx配件文件

nginx -s reload

这里开始报错了,提示找不到证书文件。

5、安装证书

按照《搭建mastodon实例和typecho数据库迁移》中记录的方式安装证书:

sudo snap install core; sudo snap refresh core    #如果没有snap则 apt insall snapd 安装
sudo snap install --classic certbot
sudo ln -s /snap/bin/certbot /usr/bin/certbot
sudo certbot --nginx -d 你的域名

最后一步一直报错,提示内容也是找不到证书文件。

这里卡壳了很久,最后发现,需要删除配件文件中带有# managed by Certbot注释的内容。

不想折腾,却不得不折腾

删除后,重新执行sudo certbot --nginx完成证书安装。

再执行nginx -s reload重新加载配置文件,也没有报错。

于是激动的到浏览器中访问网站,又来了个502 bad gateway错误。

6、nginx配件文件中修改php版本

继续Google,502的错误一般是fastcgi导致的,nginx配件文件中刚好有一段fastcgi配置,其版本号是7.2,但新安装的php是7.4,于是修改版本号解决。

不想折腾,却不得不折腾

7、安装php-sqlite3

再访问网站,浏览器继续报错,这次是PHP错误,大意是无法操作sqlite3数据库。

需要安装php-sqlite3插件解决。

apt install php-sqlite3

8、修改目录和文件权限

继续访问网站,PHP继续报错,提示sqlite数据文件只有读权限,没有写权限。需要修改目录和数据库文件权限:

sudo chown -R :www-data /home/typecho/ # 修改站点目录权限
sudo chmod -R 775 /home/mydata.db # 修改数据库文件权限

9、解决Python脚本发布报错

当我使用《使用Python和MetaWeblog API发博客》文中的脚本发布本文时,终端报错ResponseError,就这么一点内容,查都没法查。

于是使用MWeb进行发布,MWeb提供了更详细的错误信息,原来服务端没有php-xml插件,导致博客的xmlrpc接口无法工作。安装php-xml插件解决。

apt install php-xml

到这里,才终于全部解决。香港服务器可以申请退款了。

最后吐个槽,阿里云比腾讯云贵,但考虑到之前域名已经在阿里云备案,贵就贵点,不折腾了。

也希望这篇文章以后用不上。

赞(0) 打赏
未经允许不得转载:哈哈 » 不想折腾,却不得不折腾

评论 抢沙发

更好的WordPress主题

支持快讯、专题、百度收录推送、人机验证、多级分类筛选器,适用于垂直站点、科技博客、个人站,扁平化设计、简洁白色、超多功能配置、会员中心、直达链接、文章图片弹窗、自动缩略图等...

联系我们联系我们

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续提供更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫打赏

微信扫一扫打赏

登录

找回密码

注册