#node.js #google-cloud-platform #strapi
#node.js #google-облачная платформа #strapi
Вопрос:
Я пытаюсь развернуть strapi на Google Cloud App Engine (стандартный env), но я продолжаю получать ошибку сервера 500. Я погуглил все, но не было написано никаких руководств о том, как успешно развернуть strapi на AE.
Я попробовал предложения в этой теме: https://github.com/strapi/strapi/issues/2146 Так что у меня есть:
- скрипт gcp-build для установки зависимостей
- точка входа в app.yaml для запуска strapi
- мои database.json и server.json в strapi обновлены
Но, похоже, у меня это не работает. Я продолжаю получать следующую ошибку:
Я попытался погуглить эту ошибку «app / invalid», но, похоже, я ничего не могу найти по этому поводу.
Я также запустил flex env, но это также не удалось (без надлежащей ошибки).
Это мой файл app.yaml:
runtime: nodejs10
instance_class: F2
service: admin
entrypoint: node_modules/strapi/bin/strapi.js
env_variables:
DATABASE_HOST: "host"
DATABASE_PORT: 27017
DATABASE_NAME: "db"
DATABASE_USERNAME: "name"
DATABASE_PASSWORD: "pw"
DATABASE_SRV: true
DATABASE_AUTHENTICATION_DATABASE: "admin"
DATABASE_SSL: true
NODE_ENV: "production"
PORT: 1337
Это мой package.json (важные части):
...
"scripts": {
"strapi": "node_modules/strapi/bin/strapi.js",
"gcp-build": "node node_modules/strapi/lib/utils/post-install.js amp;amp; cd admin amp;amp; npm run setup"
}
...
"engines": {
"node": ">=10.0.0",
"npm": ">=6.0.0"
},
производственная база данных.json:
{
"defaultConnection": "default",
"connections": {
"default": {
"connector": "strapi-hook-mongoose",
"settings": {
"client": "mongo",
"host": "host",
"port": 27017,
"database": "db",
"username": "name",
"password": "pw",
"srv": true
},
"options": {
"authenticationDatabase": "admin",
"ssl": true
}
}
}
}
И, наконец, это мой файл server.json:
{
"host": "https://admin-dot-ootje-website.appspot.com",
"port": 1337,
"production": true,
"proxy": {
"enabled": false
},
"autoReload": {
"enabled": false
},
"cron": {
"enabled": false
},
"admin": {
"autoOpen": false
}
}
Я ожидал бы, что это работает из руководств по началу работы в AE, но, похоже, я что-то упускаю. Кто-нибудь знает, что означает эта ошибка? Кому-нибудь удалось уже развернуть strapi на AE?
Если у меня получится, я бы хотел добавить его в документы strapi или в medium post, чтобы другим людям было проще, чем мне 🙂
Заранее спасибо!
Ответ №1:
Я думаю, что ваша проблема связана с файлом server.json.
Эта конфигурация работает на моей стороне :
{
"host": "localhost",
"port": "${process.env.PORT || 1337}",
"production": true,
"proxy": {
"enabled": false
},
"autoReload": {
"enabled": false
},
"cron": {
"enabled": false
},
"admin": {
"autoOpen": false
}
}
Я работаю над новым файлом конфигурации, чтобы обеспечить работу поставщика авторизации… и некоторые другие функции. Но эта первая версия работает для меня.
Я буду держать вас в курсе моего поиска, если вам нужно.
## Обновление 1 ##
Я нашел хорошую конфигурацию для GCP в рабочем режиме. Я делюсь этим, если кому-то еще это нужно :
{
"host": "localhost",
"port": "${process.env.PORT || 1337}",
"production": true,
"proxy": {
"enabled": true,
"ssl": true,
"host": "[project-name].appspot.com",
"port": 443
},
"autoReload": {
"enabled": false
},
"cron": {
"enabled": false
},
"admin": {
"autoOpen": false
}
}
Я использую гибкую среду на GCP, но, думаю, это будет работать в стандартном режиме.
Спасибо,
Комментарии:
1. спасибо за ответ! Я собираюсь попробовать это, не могли бы вы поделиться своим app.yaml? Используете ли вы сценарий gcp-сборки?