Strapi + Cloud SQL for MySQL on Google App Engine - Server wasn#39;t able to start properly Error: getaddrinfo EAI_AGAIN(在Google App Engine上使用Strapi+Cloud SQL for MySQL-服务器无法正确启动错误:getaddrinfo EAI_Again)
问题描述
我正在尝试将我的Strapi应用程序启动到Google App Engine中,我确实部署成功,但我在日志中不断收到以下错误:
服务器无法正常启动 错误:getaddrinfo EAI_Again/CloudSQL/ConnectionName
错误日志:
我按照部署说明操作,但可能缺少一些东西,比如我的应用程序无法与我的Cloud SQL for MySQL数据库建立连接。
这是我的.yaml文件:
数据-lang="js"数据-隐藏="假"数据-控制台="真"数据-巴贝尔="假">runtime: nodejs12
instance_class: F2
env_variables:
HOST: '0.0.0.0'
NODE_ENV: 'production'
DATABASE_NAME: 'test'
DATABASE_USERNAME: '***'
DATABASE_PASSWORD: '***'
INSTANCE_CONNECTION_NAME: '***'
beta_settings:
cloud_sql_instances: '***'
module.exports = ({ env }) => ({
defaultConnection: 'default',
connections: {
default: {
connector: 'bookshelf',
settings: {
client: 'mysql',
host: `/cloudsql/${env('INSTANCE_CONNECTION_NAME')}`,
database: env('DATABASE_NAME'),
username: env('DATABASE_USERNAME'),
password: env('DATABASE_PASSWORD'),
},
},
},
});
如果有人知道这件事并能帮助我,我将不胜感激。
推荐答案
查看了他们的官方docs和gihubissue,发现在Cloud SQL上通过unix套接字连接正常的是host
改为socketPath
,而不是现在写的socket
(不知道为什么不是)。我测试了一下,它可以在3.6.1版上运行。
按照他们的部署指南,在您的项目上安装MySQL驱动程序:
yarn add mysql
然后,将host
更改为socketPath
:
module.exports = ({ env }) => ({
defaultConnection: 'default',
connections: {
default: {
connector: 'bookshelf',
settings: {
client: 'mysql',
socketPath: `/cloudsql/${env('INSTANCE_CONNECTION_NAME')}`,
database: env('DATABASE_NAME'),
username: env('DATABASE_USERNAME'),
password: env('DATABASE_PASSWORD'),
},
},
},
});
然后要管理您的项目,请转到管理面板,地址为GAE URL的/admin。
这篇关于在Google App Engine上使用Strapi+Cloud SQL for MySQL-服务器无法正确启动错误:getaddrinfo EAI_Again的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:在Google App Engine上使用Strapi+Cloud SQL for MySQL-服务器无法正确启动错误:getaddrinfo EAI_Again


基础教程推荐
- 表 './mysql/proc' 被标记为崩溃,应该修复 2022-01-01
- 如何在 SQL 中将 Float 转换为 Varchar 2021-01-01
- oracle区分大小写的原因? 2021-01-01
- mysql选择动态行值作为列名,另一列作为值 2021-01-01
- 二进制文件到 SQL 数据库 Apache Camel 2021-01-01
- MySQL 中的类型:BigInt(20) 与 Int(20) 2021-01-01
- 在 MySQL 中:如何将表名作为存储过程和/或函数参数传递? 2021-01-01
- 什么是 orradiag_<user>文件夹? 2022-01-01
- 在多列上分布任意行 2021-01-01
- 如何根据该 XML 中的值更新 SQL 中的 XML 2021-01-01