2016-09-16 11 views
0

Я создал чат с nodejs в visual studio, и он хорошо работает на моем локальном хосте, но мой сайт на лазурном, поэтому я создал виртуальную машину (Windows Server 2012). (Примечание: это не классическая виртуальная машина) и установлены необходимое программное обеспечение NodeJS.and скопируйте мою папку nodejsapp в виртуальную машину.Выполнить nodejs на azure vm (windows server 2012)?

Отрывок код здесь (server.js) ...

var app = require('express')(); 
var http = require('http').Server(app); 
var io = require('socket.io').listen(http); 
var sql = require('mssql'); 

var config = { 
    user: 'xxxxx', 
    password: 'xxxxxxxxxxx', 
    server: 'xxxxxxxxxxxxxxxxxxxxxxxxxxx', 
    database: 'xxxxx', 

    options: { 
     encrypt: true // Use this if you're on Windows Azure 
    } 
} 
console.log(config); 


io.sockets.on('connection', function(socket){ 

    socket.on('join room', function (data) {console.log('joined-->'+data.email); 
     socket.join(data.email); 
    }); 

    socket.on('leave room', function (data) {console.log('Leaved-->'+data.email); 
     socket.leave(data.email); 
    }); 

    socket.on('message', function (data) { 
      console.log('sent==>'+data.id+" , "+data.to+' , '+data.from+' , '+data.msg ); 
      io.sockets.in(data.to).emit('chat message', {id: data.id, to:data.to,from: data.from, msg: data.msg }); 

    });  

}); 

http.listen(5556, function(){ 
    console.log('listening on *:5556'); 
}); 

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

enter image description here

он работает на локальной машине, а не в виртуальной машине.

Может ли кто-нибудь указать мне правильное направление?

ответ

0

Похоже, что другая программа имеет node.exe в пути к среде. В вашем случае это, вероятно, Microsoft HPC Pack. Введите echo% PATH% и посмотрите, есть ли (C: \ Program Files \ Microsoft HPC Pack 2008 R2 \ Bin) перед вашей папкой node.js (C: \ Program Files \ nodejs). если это так, измените Path так, чтобы путь node.js был до пути HPC.

+0

На самом деле я новичок в лазурных и лазурных vm.As по вашему предложению, я просто удаляю nodejs с диска c и снова устанавливаю nodejs на D-диск. и моя папка проекта узла также в D drive.again попытаются запустить, но проблема еще не решена. –

+0

@MohitSolanki Удалось ли изменить путь в пути к среде, как я предложил? переустановка не поможет вам, потому что, когда вы выполняете node.exe, он сначала пойдет в пакет HP HP – shachar

+0

, как изменить путь? PLZ помочь мне узнать. –

0

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

enter image description here

По defaule, то node это имя псевдонима для HPC команд в этом шаблоне. И он не имеет среды node.js, если вы не установили один из них. Фактически, вы можете использовать абсолютный путь приложения-приложения node.js.

Кроме того, вы можете использовать обычную версию шаблона VM, такие как enter image description here

Установки Node.js и убедитесь, чтобы настроить путь nodejs папки в системе PATH. В противном случае вы можете просто упаковать папку приложения приложения node.js в каталог вашего проекта и развернуть их на Azure VM togather. Затем используйте абсолютный путь выполнения node.js для запуска вашего сервера node.js.

обновление

Вы можете выбрать тот шаблон VM без ГПЦ пакета, при добавлении нового ресурса в рынке.

+0

HI @Gary Liu - MSFT. Я новичок в azure и azure vm. По вашему предложению я просто удаляю nodejs с диска c и снова устанавливаю nodejs на D-диск. и моя папка проекта узла также в D drive.again попытаются запустить, но проблема еще не решена. –

+0

Вы изменили использование общего шаблона VM без пакета HPC? –

+0

все еще я не использую. как использовать шаблон виртуальной машины, потому что, прежде чем сказать и снова повторить, я новичок в AZURE. PLZ помочь мне узнать. –