Развертывание Node.js в режиме спуска

Я пытался развернуть приложение Node.js в openshift, как в этой ссылке здесь

Я понимаю этот код

var http = require('http'); var server = http.createServer(function(req, res) { res.writeHead(200); res.end('Hello Http'); }); server.listen(3000); 

и нет проблем с локальным запуском

 $ node server.js // saved as server.js 

Однако как это работает, когда я выполняю это приложение в openshift? Это очень простой код. У меня есть загруженный код, который является чат-приложением, а клиент-серверу нужно настроить прослушивание на каком-то порту (я использовал номер порта 3000 в своем локальном хосте).

Он работает с номером порта 3000 в localhost, но как я могу заставить его работать в Openshift?

Вам нужно прослушать порт process.env.OPENSHIFT_NODEJS_PORT . Итак, что-то вроде этого должно работать:

 server.listen(process.env.OPENSHIFT_NODEJS_PORT || 3000); 

См. Здесь, например: Ошибка: прослушивание EACCES в приложении Openshift

Эй, проблема с socket.io в том, что у вас есть пакет npm, установленный локально, но не в openshift (зависимости не нажимаются). Для этого вы можете войти в систему через ssh (искать «Хотите войти в свое приложение?» В правом меню в панели управления подъемом, следовать инструкциям и использовать предоставленное соединение ssh), затем войти в систему с терминалом o Putty и перейти к:

 cd app-root/repo 

или же

 cd $OPENSHIFT_REPO_DIR 

а потом

 npm install socket.io 

Я использовал это для установки мангуста и других зависимостей без проблем. Также вы можете использовать

 node server.js 

из командной строки для запуска сайта;)