我在 Microsoft azure 上将 Ghost 作为 Web 服务运行。我使用 MySql 数据库而不是默认的 Sqlite 进行存储。每次我打开博客时,我都会收到状态为 500 的 Econnreset 错误,并且正在显示 Sql 查询。
我在虚拟机中运行了 MySql。但是刷新时一切正常。我也在使用连接池。
如何纠正这个问题,或者 Ghost 与数据库断开连接的可能原因是什么。
解决了这个问题。问题在于底层的 Knex MySql 驱动程序。当连接保持空闲时 Azure 关闭连接,当再次发出请求时 knex 不会检查连接是否仍然存在或不会导致 Econnreset 错误。
您可以通过在 knex 中将最小连接数设置为零来解决此问题。
有关更多详细信息,请关注此问题:
Is the mysql database hosted on another azure instance ?
If so you will need to make it available to the outside (Open the required ports).