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

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

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

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

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

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

1) можно ли 2е независимых программы написать под ноду и запустить на одном хостинге? Например скрипт чата, скрипт сайта, скрипт api...
2) как их "разделить"? можно ли их "перезапускать" по очереди/независимо? (чтобы у других "кеш не слетал")
3) как вообще подобное делается? каждое на свой сокет-порт сажают? на уровне сервера делают переадресацию на виртуальные_сервера/поддомены/внутренние IP?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
10.06.2016, 11:08
Ответы с готовыми решениями:

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

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

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

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

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

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

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

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

и еще... а если я пытаюсь сделать СОКЕТ-сервер? для общения (например) через "пуши" в socket.js (чат/уведомления без "нагрузки" на сеть, но с постоянным и МОМЕНТАЛЬНЫМ уведомлением). Там же вроде даже прямого URL-адреса нет! Только ссылка на сервер (без "подпапки) и порт(mysite.com:8084)... Тогда ВООБЩЕ не нужен Nginx? И перегружать можно сколько угодно "по скриптам" без риска "сбить кеш" у других скриптов(удержанные авторизированные сокеты, не записанные "временные" переменные, общие переменные, отложенные действия)?
0
Ренегат
Эксперт HTML/CSS
 Аватар для BANO
1740 / 1085 / 386
Регистрация: 06.08.2014
Сообщений: 5,203
Записей в блоге: 1
10.06.2016, 20:00
Цитата Сообщение от 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  [ТС]
Спасибо, кажется понял! буду собирать "инструменты"...
Цитата Сообщение от 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
 Аватар для BANO
1740 / 1085 / 386
Регистрация: 06.08.2014
Сообщений: 5,203
Записей в блоге: 1
11.06.2016, 00:12
Tester64, вы меня правильно поняли
молодец вы)
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
11.06.2016, 00:12
Помогаю со студенческими работами здесь

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru