2013-10-10 4 views
1

В локальном тесте он работает. на другой порт (3001, 8080)Node.js + Express работает только с портом 3000 на тестовом сервере

Но на тестовом сервере (Azure)

бегаю 2 экземпляра узла приложения на одном компьютере

$ node api1/index.js (on port 3000) 
$ node api2/index.js (on port 3001) 

и

$ node api1/index.js (on port 3001) 
$ node api2/index.js (on port 3000) 

Но это работа только на порту 3000

Как установить другой порт для экспресс-приложения?

Теперь я изменился на app.listen (3001) на index.js, и он не работает.

Спасибо заранее.

ответ

3

Часто облачные платформы устанавливают переменную окружения, содержащую порт, в который они хотят, чтобы вы вставляли свое приложение. У меня нет никакого опыта работы с Azure ... Смотрите ответ здесь: How to run a node.js server on Azure?

В частности:

var port = process.env.port 

Большинство провайдеров облачных в моем опыте не позволит вам играть на других портах. Вы всегда можете указать локальный порт тоже, хотя, делая это:

var port = process.env.port || 3001 //(or whatever) 

app.listen(port); 

этот путь, если process.env.port не определен (который будет в вашей среде Dev) вы Откат к 3001.

Имеют смысл?

Смежные вопросы