Настроить prod test среды на *nix сервере

Цена договорная
14 июня 2020, 16:41 • 10 откликов • 54 просмотра
  • Помочь в составлении ТЗ
  • Настроить *nix сервер.
Тз описано тут https://docs.google.com/document/d/1K2KvvgiTAS8CZ8...

  1. Описание сервиса:
Сервис представляет собой доску объявлений. Клиент размещает запрос и получает предложения по запросу.

  1. Цель настройки сервера:
Сервис представляет собой MVP версию на текущий момент.

Необходимо настроить сервер с расчетом на минимальные нагрузки, чтобы он работал и можно было пускать рекламу сервиса , не боясь что сервер не поднимется если провайдер перезапустит свои VDS.

Сервер должен стабильно работать ( без учета спама, ddos атак , sql инъекций).

Сделать один сервер, на текущий момент балансировка не нужна.

Заложить потенциал на возможное масштабирование (несколько серверов)

Настроить prod среду - для пользования, и test - частичный клон prod, для тестов.


  1. Работа сервиса:
Данные клиент посылает серверу через http и socket.io, поулчает через socket.io в режиме online.

На текущий момент развернута тестовая среда.

Я предлагаю свои параметры которые необходимо настроить, их можно менять на любые.

  1. Сервис состоит из:
Frontend:

  1. Angular 7

Backend:

  1. Nodejs
  2. Postgres

Статику раздает Nginx. Backend он прячет за собой


5) Необходимо:

  1. Помочь с выбором VDS провадера, на текущий момент https://www.ihc.ru/
  2. Определить ОС.
  3. Настроить Nginx
  4. Установить сервер Nodejs с зависимостями , через npm
  5. Установить сервер Postgres с зависимостями Postgis
  6. Установить права доступа для каждого сервиса
  7. Настроить firewall.
  8. Настроить https сертификат для nginx (сертификат куплен)
  9. Настроить резервирование данных БД (обсудить варианты).
  10. Настроить zabbix c информированием через почту.

6) Задание

  1. Настроить NGINX текущий конфиг https://pastebin.com/rpEEePjR
  1. Статика лендинга - domain.ru
  2. Статика сервиса - domain.ru/lk (можно вынести на отдельный домен lk.domain.ru , нужно обсуждать как лушче)
  3. Запросы к Backend, которые проксирует NGINX проксирует , начинаются c путей: Htpp запросы : /api , /public , Socket.io /socket.io
  4. Настроить https на все входящие запросы к NGINX.
  5. Backend должен стоять за NGINX.
  6. Backend работает на http (стоит ли настраивать backend на https?)
  7. Как отработать не существующие запросы ?
  8. Текущая версия 1.10.3
  9. Настроить сжатие gzip
2) Настроить Node Js

Текущий конфиг https://pastebin.com/SNZjUN8F

Текущие зависимости https://pastebin.com/g1Bvmjgq

  1. Node Js должен восстанавливаться после рестарта сервера ОС, или падения самого Nodejs. Для этого нужна настроить запуск севере через менеджер pm2
  2. Дать доступ к файлу с настройками паролей для почтового сервера (секретные данные).
  3. Установить node 10.13.0
  4. Установить npm 6.4.1
  5. Установить pm2 (сейчас не стоит и не настроен)
  6. Настроить права доступа Node Js
  7. Сервер должен быть доступен только в локальной сети

3) Настроить Postgres

  1. Установить PostgreSQL 9.5.19 on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 5.4.0-6ubuntu1~16.04.10) 5.4.0 20160609, 64-bit
  2. Установить Postgis 2.2
  3. Настроить права доступа
  4. Сервер должен быть доступен только в локальной сети
4) Общие:

  1. Настроить zabbix (только для prod)

    1. Загрузка сети
    2. цп
    3. оперативной памяти
    4. жесткого диска
    5. настроить триггеры и отправлять их по почте
  2. Настроить vpn (как смотреть состояние zabbix?, подключаться к postgres) (только для prod)
  3. настроить почтовый клиент для заббикса (только для prod)
5) Создать документации с описанием установленных сервисов и их основных настроек.


7) Прочее:

Настройки могут меняться по согласованию.