Chat Server поддерживает режим работы с использованием нескольких экземпляров (инстансов) сервера. Для поднятия экземпляра сервера нужно:
1. Настроить docker-compose.yml:
В секции services вашего docker-compose.yml, добавьте анкор для сервиса server. Это позволит вам переиспользовать конфигурацию для второго экземпляра.
services: ... server: &server_defaults
2. Создать новый сервис для второго экземпляра:
Добавьте новый сервис server2, который будет ссылаться на анкор server_defaults. Измените порт для второго экземпляра.
server2:
<<: *server_defaults # Ссылка на анкор
ports:
- 3012:3000 # Изменение порта для server2
3. Настроить nginx:
Зайдите в контейнер nginx:
docker exec -it elph-chat-server-unstable-nginx-1 bash
Обновите список пакетов и установите текстовый редактор:
apt update && apt install nano -y
или
apt update && apt install vim -y
или
apt update && apt install mcedit -y
Откройте конфигурационный файл nginx:
<nano/vim/mcedit> /etc/nginx/conf.d/ecss-chat-server-nginx.conf
Измените секцию upstream. Добавьте серверы и балансировщик по токену:
upstream backend {
hash $cookie_rc_token consistent;
server server:3000;
server server2:3000;
}
4. Перезапустить чат сервер без удаления контейнеров.
./ecss-elph-chat-server.sh stop && ./ecss-elph-chat-server.sh up