Скрипт запуска Node.js - PullRequest
2 голосов
/ 19 июля 2010

У меня есть Apache httpd server и node.js. Мне нужно эмулировать реальные данные JSON, которые меняются каждый раз.

Я обнаружил, что могу запускать node.js в качестве сервера в автономном режиме, например:

var http = require('http');
http.createServer(function (req, res) {
  res.writeHead(200, {'Content-Type': 'text/plain'});
  res.end('Hello World\n');
}).listen(8124, "127.0.0.1");
console.log('Server running at http://127.0.0.1:8124/')

Это круто, но я не могу получить к нему доступ по запросу AJAX, так как есть другой порт.

Вопрос: Как я могу, запустить этот скрипт, доступ к которому осуществляется по другому пути, например http://localhost/json (не так, как в другом порту работает standanole)

Спасибо

Ответы [ 2 ]

2 голосов
/ 19 июля 2010

Вы можете прокси-соединение от основного веб-сервера к node.js. На dailyjs http://dailyjs.com/2010/03/15/hosting-nodejs-apps/ есть отличный учебник - хотя это не про Apache, а Nginx

0 голосов
/ 07 октября 2010

Если вы используете Node.js, вы можете обойти Apache altogther. Я запускал базовые приложения без Apache просто отлично (хорошо начать в любом случае), и у меня были все статические файлы (css js, изображения и т. Д.) На s3 / cloudfront.

Однако теперь я использую NGNIX в качестве внешнего интерфейса (для кэширования и т. Д.) И по существу загружаю баланс, поступающий на разные порты, где у меня на нескольких портах работают приложения с несколькими узлами. Все на 1 коробке между прочим.

Apache не идеален для node.js. На самом деле, если ваше приложение отнимает основную информацию, вы должны проверить это, чтобы понять, почему http://scoop.simplyexcited.co.uk/2010/07/05/node-js-brief-overview-2/

Если вы только экспериментируете с узлом, вам на самом деле не нужен Ngnix (ну, во всяком случае, пока нет)

PS: поскольку ваше приложение не возвращает JSON правильно, я использую что-то более похожее на это.

    res.writeHead(200, { "Content-Type" : "text/plain" });

         myJSON.push({/* some stuff during a loop */})

    res.write(JSON.stringify(myJSON));
    res.end();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...