趁热打铁:迁移&Rebuild cutehive.com网站(迎接HF28)

之前用了一整天的时间Rebuild了我一个站点所在的VPS,今天一早断然决定趁热打铁,把cutehive.com网站所在的VPS也重建一下。

image.png
(图源 :pixabay)

其实做这个决定之前,心里还是万分忐忑的,对我而言,cutehive.com网站还是非常重要的工具。要是弄坏了,我可就欲哭无泪了。

而和之前那个站点仅仅是个静态站不同,cutehive.com网站运行的Apache+PHP,且用到了curl以及MSSQL,当初弄这个站可是让我熬了无数个昼夜,掉了好多头发呢。

不过不去重建它,强迫症又受不了,那就开干吧。

迁移站点

之前站点VPS在美国,我总觉得访问有些慢,所以决定将它迁移到其它地区。经过我一番精挑细选,那就选法国巴黎吧,听起来就足够浪漫。

在Linode面板中,迁移VPS就和吃饭喝水一样简单(虽然之前我一台VPS死活迁移不了)所以,就不多介绍啦,感兴趣的小伙伴可以自己去体验。

执行迁移操作后的提示信息:
bb530be1f19dec284f14927858e4d09e.png

迁移进度,大概用了20-30分钟左右:
1446a071e3b16f8bfa7c25e90f1d4c44.png

68f07433bc6a385fa1aba4799e857570.png

Rebuild站点

迁移过后,我把站点数据等备份后,一狠心开始了Rebuild进程。一旦按钮按下就没有后悔药可吃了。

好啦,现在已经没有后悔药可吃啦:
e5610b1f81cc1e2b7a8fd7f1363891cf.png

站点Rebuild依旧很快,大概2-3分钟就完成了。这样我们就有了一台崭新的Ubuntu 24.04 LTS机器。

有朋友可能会问,既然又迁移又重建,为何不选择直接购买新机删掉旧机呢?这也是个方法,但是和旧机有关的操作、计费记录啥的都都没啦。所以我选择了比较周折的办法。

初始化&安装应用&恢复站点

如前文所述,我们需要对新机进行一些初始化,包括但不限于:

  • 创建新用户
  • 修改SSH设置&更改监听端口
  • 更新系统
  • 修改主机名
  • 卸载无用服务

之后,还要安装运行网站需要的应用:

  • Apahce
  • libapache2-mpm-itk
  • php8.3

然后尝试恢复站点,具体步骤和前一篇文章大同小异,就不再赘述了。

修改解析以及安装证书

和之前重建的那个站点略有不同,这个VPS是先迁移再重建,所以IP地址也变啦。

我们必须修改域名的DNS记录来将其指向新的IP地址

b4570e469c3061d6244d6908b712c2f8.png

8fbdfb7ac312ac1cf7454b54d7ada285.png

设置完成后可以使用我的EzDig工具来检查解析

f0350384358e089035c638d02ca45b94.png

由于DNS刷新的问题,可能会出现暂时无法访问的情况(本地DNS缓存里还是之前的旧记录),那么windows下可以通过修改hosts文件来将域名指向IP。

之后我们可以用sudo certbot --apache来为站点申请并启用SSL证书

eabb7d0a95a3e3d8692716a63913cedc.png

遇到的问题

想到会遇到一些麻烦,果然不出所料。

先是发现PHP不解析,这是因为我PHP代码都使用类似<? echo("Hello World!"); ?>,要求PHP支持short_open_tag

编辑php.ini文件,讲对应项目由Off改成On。重启Apache,Ok!

接下来遇到这样一个问题:

PHP Fatal error: Uncaught Error: Call to undefined function curl_init() in ......

这是因为我代码中使用curl来访问HIVE节点,需要安装php的CURL支持。

sudo apt install php-curl

重启Apache,Ok!

接下来又来新错误了:

PHP Fatal error: Uncaught Error: Call to undefined function odbc_connect() in ......

因为是通过ODBC方式访问的MSSQL数据库,所以必须安装php ODBC支持:

sudo apt install php-odbc

重启Apache,Ok!

新问题又来了:

PHP Warning: odbc_connect(): SQL error: [unixODBC][Driver Manager]Can't open lib 'ODBC Driver 18 for SQL Server'

PHP倒是有ODBC支持了,但是没安装微软的ODBC Driver 18 for SQL Server。哎,头大如斗,最后费了一番周折,总算让代码都工作了起来。

为HIVE HF28 做好准备

朋友们可能好奇,为啥我非要匆匆忙忙重建这个站点呢?毕竟好用就可以了呗?

那是因为我们HIVE,即将迎来HardFork 28,我也准备在HF28之前把站点更新一下,一切都是全新的气象!

网站cutehive.com最重要的功能就是见证人列表啦。

通过这个列表我们可以实时了解每个见证人节点的健康状况,以及我们都投了哪些个节点。对于健康状况不佳的节点(比如最近持续丢块还不离线的),我们应该考虑调整一下自己的投票。

我们还可以通过见证人列表来查看见证人节点的版本情况:
c5134d1f973ee28bdf69b63f1d29af8a.png

目前,前30节点,绝大部分都已经将hived版本升级到1.28.3,亦即投票表示支持HF28,我记得硬分叉的要求是17/21的投票占比,按现在的投票数,已达成共识。

期待硬分叉按时激活,期待HIVE区块链变得越来越好哦。

相关链接

Sort:  

欲哭无泪,到底弄出了自己解决不了的错误
连接mssql中文查询出错,呜呜呜

呜呜呜,头大如斗,为什么我要折腾呢😭

Hey @oflyhigh!

I also think that CuteHive is a great tool! If you need help, let us know, reach out to @eddiespino on Discord or Telegram, and we can help you troubleshoot and find a solution for the error you are facing.

We are also building a tool for witnesses: https://info.aliento.blog/. It's open source, but it's still not ready, and we're encountering some issues with fetching all the data. I think we need a Full Node for this, and we'll do that once the price improves a bit or we can rank up a little bit more.

The code for the site is currently here: https://github.com/Mantequilla-Soft/info-aliento-blog

好像国外的站点在中国打开都会比较慢吧

除了说O哥厉害不知道说啥了
看看我自己感觉我就是来人间凑数的😂