# #node.js #google-compute-engine #environment #pm2
#node.js #google-вычислительный движок #Окружающая среда #pm2
Вопрос:
Я использую экземпляры виртуальных машин Google, моя сборка, установка и т. Д. Идут хорошо, и приложение развернуто, но когда я пытаюсь подключиться к своему API, я всегда получаю 502 плохих шлюза, после проверки журналов PM2 из облачной консоли Google я получаю это
После проверки моего кода в строке 20 app.ts у меня есть
Это указывает на проблему
Итак, проблема здесь в том, что process.env.NODE_ENV
она не определена, но почему? Я прочитал, что PM2 должен запускаться из той же папки, что и сам файл, поэтому, если он мне понадобится, я скопировал файл .env в корневую папку, из которой я запускаю сервер, и в папку /dist, он все равно не работает.
Моя начальная строка сервера:
$ gcloud compute ssh myuser@myapiserver --quiet --command="pm2 start ~/myapiendpoint/current/dist/server.js" --zone="us-central1-f"
У меня нет идей, любая помощь приветствуется.
Комментарии:
1. pm2 не читает файл .env. Ваши nodejs приложения должны прочитать его или предварительно предоставить их для запуска с помощью bash. Поделитесь с нами своим пакетом.json и начальным предложением. Готовы ли вы управлять своими переменными с помощью более оптимального подхода?
2. @JRichardsz только что обновил последнюю команду, это было неправильно, есть фактическая начальная строка для моего сервера, извините