Как исправить ошибку 8080 о недоступности порта для сервера синтаксического анализа в openshift

Я переношу серверную часть данных с parse.com на openshift.
Шаг 1. Я изменил привязку порта проекта openshift к следующему

//var port = process.env.PORT || 1337;
 var port = parseInt(process.env.OPENSHIFT_NODEJS_PORT) || 8080;
var httpServer = http.createServer(app);
httpServer.listen(port, function() {
  console.log('parse-server-example running on port ' + port + '.');
});

и создан как мой новый репозиторий https://github.com/kyawzinsoe/parse-server-example.git

Шаг 2. Затем я создаю механизм с моим репозиторием parse-server с помощью следующей команды. rhc app-create myserver nodejs-0.10 mongodb-2 --from-code=https://github.com/kyawzinsoe/parse-server-example.git
Но проблема с портом 8080 отображается следующим образом: введите здесь описание изображения

Что мне не хватает? Помогите мне, пожалуйста.


person KyawLay    schedule 01.02.2016    source источник
comment
Я бы рекомендовал также указать IP-адрес. Если это не поможет, попробуйте проверить журналы.   -  person Jiri Fiala    schedule 01.02.2016
comment
попробуйте отследить ./app-root/logs/nodejs.log, может возникнуть исключение, в моем случае это appId и masterKey из разбора   -  person Zennichimaro    schedule 18.02.2016


Ответы (3)


Вам нужно использовать Node 4.1+ с сервером синтаксического анализа. OpenShift работает 0.10.x

Вы можете использовать этот репозиторий https://github.com/h4t0n/nodejs-4-lts-openshift для запуска Node 4.1+ в вашем приложении OpenShift.

person radzio    schedule 01.02.2016
comment
Однако у вас это тоже не получится, потому что вам нужен более новый gcc для компиляции собственного модуля bcrypt. На openshift у вас 4.4.7 :( - person radzio; 01.02.2016

Обновлять:

Я настроил кнопку развертывания в OpenShift, которая сделает за вас большую часть работы:

Развернуть сервер синтаксического анализа в OpenShift

вам все равно нужно будет настроить ваш appId и masterKey либо путем редактирования файла index.js, либо с помощью rhc env set APP_ID=myAppId MASTER_KEY=myMasterKey -a myAppName

Вот как вы можете сделать то же самое с помощью инструмента rhc:

rhc app create parseaio http://cartreflect-claytondev.rhcloud.com/github/icflorescu/openshift-cartridge-nodejs http://cartreflect-claytondev.rhcloud.com/github/icflorescu/openshift-cartridge-mongodb --from-code https://github.com/antt001/parse-server-example --env APP_ID=myAppId MASTER_KEY=myMasterKey

для более подробной информации. инструкции, ознакомьтесь с записью в моем блоге по этой теме

Оригинальный ответ

  1. создайте приложение, используя картридж из http://github.com/icflorescu/openshift-cartridge-nodejs вставьте URL-адрес со страницы Github в текстовое поле Code Anything в нижней части страницы создания приложения. Выберите тип страницы приложения.
  2. на следующей странице вставьте https://github.com/antt001/parse-server-example в текстовое поле исходного кода, чтобы получить пример проекта синтаксического анализа, измененный для настроек openshift
  3. добавьте последний картридж MongoDB, как указано на http://github.com/icflorescu/openshift-cartridge-mongodb
  4. клонируйте свое репо из OpenShift
  5. замените значения appId и masterKey в файле index.js идентификатором и ключом вашего приложения.

Он работает нормально, я использую эту конфигурацию прямо сейчас.

Обновление 2

Я удалил фрагмент, так как теперь он находится в репозитории GitHub, о котором я упоминал выше.

P.S.

как упоминал @radzio, существует проблема с компиляцией нативных nodejs, для которых требуется GCC 4.8, однако эта конфигурация не нуждается ни в чем из этого и работает как есть, она использует bcrypt-nodejs вместо нативных

Спасибо @ionut-cristian-florescu за нестандартные картриджи

person Anatoly T    schedule 11.02.2016

Моя проблема решена комментарием @Jiri Fiala о том, что мне нужно установить IP-адрес openshift.

person KyawLay    schedule 20.02.2016