Форум программистов, компьютерный форум, киберфорум
Node.js
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.61/18: Рейтинг темы: голосов - 18, средняя оценка - 4.61
420 / 357 / 47
Регистрация: 22.05.2013
Сообщений: 2,518
1

Несколько серверов на одном хостинге

10.06.2016, 11:08. Показов 3754. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Гуру, объясните пожалуйста! (только пытаюсь начать ноду)

Я знаю (из серверных) только РНР! Там каждая "папка" может быть отдельным "движком" или API.
например:
my.com/api1/api.php
и
my.com/api2/api.php
где каждый отвечает за свое и может обновляться независимо!

Как подобное реализуется в Node.js? Внешний хостинг один на двоих, и другой программист(тоже новичок) уже положил туда чужой минисайт на ноде(не вникая скачав с опенсорсов) - уверяет что теперь даже перезапускать нельзя...

1) можно ли 2е независимых программы написать под ноду и запустить на одном хостинге? Например скрипт чата, скрипт сайта, скрипт api...
2) как их "разделить"? можно ли их "перезапускать" по очереди/независимо? (чтобы у других "кеш не слетал")
3) как вообще подобное делается? каждое на свой сокет-порт сажают? на уровне сервера делают переадресацию на виртуальные_сервера/поддомены/внутренние IP?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.06.2016, 11:08
Ответы с готовыми решениями:

Несколько серверов на одном IP
Вот есть у меня сервак на IIS4 на него в днс прописана одна запись, предположим http://s1.dp.ua и...

Несколько вордпресс-сайтов на одном хостинге
Добрый день Помогите разобраться с ситуацией Купил несколько доменов и виртуальный хостинг...

Стоит ли совмещать в одном сервере несколько различных по функциям серверов или лучше “растаскивать” их на раз
Стоит ли совмещать в одном сервере несколько различных по функциям серверов или лучше...

Два сайта на одном движке на одном хостинге
Доброго времени суток! В наличии: – Хостинг (русоникс) с директориями...

5
Ренегат
Эксперт HTML/CSS
1740 / 1085 / 386
Регистрация: 06.08.2014
Сообщений: 5,203
Записей в блоге: 1
10.06.2016, 13:09 2
Цитата Сообщение от Tester64 Посмотреть сообщение
скрипт чата, скрипт сайта, скрипт api
именно так и делается, только это один большой скрипт, в котором стоят обработчики на разные url

Цитата Сообщение от Tester64 Посмотреть сообщение
как вообще подобное делается? каждое на свой сокет-порт сажают? на уровне сервера делают переадресацию на виртуальные_сервера/поддомены/внутренние IP?
если у вас домен разный, то тогда вообще просто. порты разные ставите на разные приложения и всё, делов то

Цитата Сообщение от Tester64 Посмотреть сообщение
как их "разделить"? можно ли их "перезапускать" по очереди/независимо? (чтобы у других "кеш не слетал")
ноды спокойной можно запускать сколько хочешь раз, главное, чтобы они порты не одинаковые брали, а разные. иначе ошибка подключения к сети...

в общем вам наверное какой то прокси нужен
а если точнее, то я бы посоветовал nginx, в нём запросто можно настроить несколько "сайтов", а он сам будет знать какому приложению отправлять запросы
так же можно статику на него свалить, чтобы ноду не перегружать лишним хламом
в общем можно
1
420 / 357 / 47
Регистрация: 22.05.2013
Сообщений: 2,518
10.06.2016, 18:41  [ТС] 3
вау! кажется врубился... спасибо!

Цитата Сообщение от BANO Посмотреть сообщение
а если точнее, то я бы посоветовал nginx, в нём запросто можно настроить несколько "сайтов", а он сам будет знать какому приложению отправлять запросы
а как подобное делается ("на пальцах")? я думал Нода свой "веб-сервер" создает!
...или имеете в виду создать несколько серверов на "внутренних" портах (не обязательно их даже наружу выкладывать/показывать), а нода будет на эти сервера "переадресовывать" запросы??? я правильно понял?

и еще... а если я пытаюсь сделать СОКЕТ-сервер? для общения (например) через "пуши" в socket.js (чат/уведомления без "нагрузки" на сеть, но с постоянным и МОМЕНТАЛЬНЫМ уведомлением). Там же вроде даже прямого URL-адреса нет! Только ссылка на сервер (без "подпапки) и порт(mysite.com:8084)... Тогда ВООБЩЕ не нужен Nginx? И перегружать можно сколько угодно "по скриптам" без риска "сбить кеш" у других скриптов(удержанные авторизированные сокеты, не записанные "временные" переменные, общие переменные, отложенные действия)?
0
Ренегат
Эксперт HTML/CSS
1740 / 1085 / 386
Регистрация: 06.08.2014
Сообщений: 5,203
Записей в блоге: 1
10.06.2016, 20:00 4
Цитата Сообщение от Tester64 Посмотреть сообщение
...или имеете в виду создать несколько серверов на "внутренних" портах (не обязательно их даже наружу выкладывать/показывать), а нода будет на эти сервера "переадресовывать" запросы??? я правильно понял?
только не нода будет "переадресовывать" запросы и ответы, а прокси сервер

я часто делаю так
беру, статику всю сгружаю в одну папку под названием 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
Спасибо, кажется понял! буду собирать "инструменты"...
Цитата Сообщение от BANO Посмотреть сообщение
если запрос идёт например на домен first.ru, то отправить его на 127.0.0.1:3000
если на second.ru, то отправить его на 127.0.0.1:6000
У меня как раз ОДИН домен, но для нескольких(многих) задач (мечтаю :-) )... куча папок на РНР(не могу избавиться - пока это основное=сайт+мои "тормознутые" однопоточные API+внутренние сложные отчеты) и надо выложить 2 хостинга и несколько API на него-же! Судя по тому что я понял от вас, мне предстоит:
1) запустить 2-3 веб-сервера на ноде на разных портах и некоторые "открыть" наружу (для socket.js)
2) настроить nginx так, чтобы он обращение к некторым папкам (my.com/node1/*, my.com/node2/*)хостинга переадресовывал на соответствующие ВНУТРЕННИЕ ноде-веб-сервера (один IP=localhost=207.0.0.1, но разные порты)
0
Ренегат
Эксперт HTML/CSS
1740 / 1085 / 386
Регистрация: 06.08.2014
Сообщений: 5,203
Записей в блоге: 1
11.06.2016, 00:12 6
Tester64, вы меня правильно поняли
молодец вы)
1
11.06.2016, 00:12
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.06.2016, 00:12
Помогаю со студенческими работами здесь

размещение на одном хостинге
Добрый день. Подскажите: У меня есть сайт и есть сателлиты ,раскручивается все на одном хостинге....

Mail() возвращает false на одном из серверов
Всем привет. Возникла ситуация, что не работает функция mail() на живом сервере. Она возвращает...

2 домена и 2 сайта на одном хостинге
Помогите разобраться! Есть 2 домена и 2 сайта на одном хостинге! Сайты находятся в "корневая...

Ошибка 505 на одном хостинге
Загрузил сайт на свой хостинг, все работает, загружаю на хост заказчика, в консоле появляется...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru