420 / 357 / 47
Регистрация: 22.05.2013
Сообщений: 2,518
|
|
1 | |
Несколько серверов на одном хостинге10.06.2016, 11:08. Показов 3754. Ответов 5
Метки нет (Все метки)
Гуру, объясните пожалуйста! (только пытаюсь начать ноду)
Я знаю (из серверных) только РНР! Там каждая "папка" может быть отдельным "движком" или API. например: my.com/api1/api.php и my.com/api2/api.php где каждый отвечает за свое и может обновляться независимо! Как подобное реализуется в Node.js? Внешний хостинг один на двоих, и другой программист(тоже новичок) уже положил туда чужой минисайт на ноде(не вникая скачав с опенсорсов) - уверяет что теперь даже перезапускать нельзя... 1) можно ли 2е независимых программы написать под ноду и запустить на одном хостинге? Например скрипт чата, скрипт сайта, скрипт api... 2) как их "разделить"? можно ли их "перезапускать" по очереди/независимо? (чтобы у других "кеш не слетал") 3) как вообще подобное делается? каждое на свой сокет-порт сажают? на уровне сервера делают переадресацию на виртуальные_сервера/поддомены/внутренние IP?
0
|
10.06.2016, 11:08 | |
Ответы с готовыми решениями:
5
Несколько серверов на одном IP Несколько вордпресс-сайтов на одном хостинге Стоит ли совмещать в одном сервере несколько различных по функциям серверов или лучше “растаскивать” их на раз Два сайта на одном движке на одном хостинге |
Ренегат
|
|
10.06.2016, 13:09 | 2 |
именно так и делается, только это один большой скрипт, в котором стоят обработчики на разные url
если у вас домен разный, то тогда вообще просто. порты разные ставите на разные приложения и всё, делов то ноды спокойной можно запускать сколько хочешь раз, главное, чтобы они порты не одинаковые брали, а разные. иначе ошибка подключения к сети... в общем вам наверное какой то прокси нужен а если точнее, то я бы посоветовал nginx, в нём запросто можно настроить несколько "сайтов", а он сам будет знать какому приложению отправлять запросы так же можно статику на него свалить, чтобы ноду не перегружать лишним хламом в общем можно
1
|
420 / 357 / 47
Регистрация: 22.05.2013
Сообщений: 2,518
|
|
10.06.2016, 18:41 [ТС] | 3 |
вау! кажется врубился... спасибо!
а как подобное делается ("на пальцах")? я думал Нода свой "веб-сервер" создает! ...или имеете в виду создать несколько серверов на "внутренних" портах (не обязательно их даже наружу выкладывать/показывать), а нода будет на эти сервера "переадресовывать" запросы??? я правильно понял? и еще... а если я пытаюсь сделать СОКЕТ-сервер? для общения (например) через "пуши" в socket.js (чат/уведомления без "нагрузки" на сеть, но с постоянным и МОМЕНТАЛЬНЫМ уведомлением). Там же вроде даже прямого URL-адреса нет! Только ссылка на сервер (без "подпапки) и порт(mysite.com:8084)... Тогда ВООБЩЕ не нужен Nginx? И перегружать можно сколько угодно "по скриптам" без риска "сбить кеш" у других скриптов(удержанные авторизированные сокеты, не записанные "временные" переменные, общие переменные, отложенные действия)?
0
|
Ренегат
|
|
10.06.2016, 20:00 | 4 |
только не нода будет "переадресовывать" запросы и ответы, а прокси сервер
я часто делаю так беру, статику всю сгружаю в одну папку под названием static, там лежат все html/css/js и так далее настроил nginx на то, чтобы он брал всё статику из этой папки (там есть некоторые правила, и он сам по запросу может определить какй файл откуда брать) а всю динамику (запросы к api, на нём чат, ленточка новостная небольшая и всё такое) делается через проксирование ноды нода у меня имеет 2 обработчика, socket.js 5001 и обработку запросов на динамику 5000 а nginx настроен так, если запрос идёт ка ws, то проксировать ответы сервера, который находится по адресу 127.0.0.1:5001 если это обычные http запросы, то сначала проверяется, нужен ли файл статики(оканчивается на .js, .html, .png, .css и так далее) или запрос на динамику, если статика, то nginx сам занимается отдачей файла клиенту, если динамика, то проксирует ответ с серера с адресом 127.0.0.1:5000 вот так сделал я у вас можно сделать вот так если запрос идёт например на домен first.ru, то отправить его на 127.0.0.1:3000 если на second.ru, то отправить его на 127.0.0.1:6000 то есть порт любой там это делается не трудно, всё зависеть будет только от домена
1
|
420 / 357 / 47
Регистрация: 22.05.2013
Сообщений: 2,518
|
|
10.06.2016, 23:59 [ТС] | 5 |
Спасибо, кажется понял! буду собирать "инструменты"...
У меня как раз ОДИН домен, но для нескольких(многих) задач (мечтаю :-) )... куча папок на РНР(не могу избавиться - пока это основное=сайт+мои "тормознутые" однопоточные API+внутренние сложные отчеты) и надо выложить 2 хостинга и несколько API на него-же! Судя по тому что я понял от вас, мне предстоит: 1) запустить 2-3 веб-сервера на ноде на разных портах и некоторые "открыть" наружу (для socket.js) 2) настроить nginx так, чтобы он обращение к некторым папкам (my.com/node1/*, my.com/node2/*)хостинга переадресовывал на соответствующие ВНУТРЕННИЕ ноде-веб-сервера (один IP=localhost=207.0.0.1, но разные порты)
0
|
Ренегат
|
|
11.06.2016, 00:12 | 6 |
Tester64, вы меня правильно поняли
молодец вы)
1
|
11.06.2016, 00:12 | |
11.06.2016, 00:12 | |
Помогаю со студенческими работами здесь
6
размещение на одном хостинге Mail() возвращает false на одном из серверов 2 домена и 2 сайта на одном хостинге Ошибка 505 на одном хостинге Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |