Инструменты пользователя

Инструменты сайта


doc:1605:643.mgul.16051-01_32_01

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
doc:1605:643.mgul.16051-01_32_01 [2020/06/20 13:17]
kostylev
doc:1605:643.mgul.16051-01_32_01 [2020/06/23 12:59] (текущий)
kostylev [Программные зависимости]
Строка 13: Строка 13:
 Программный интерфейс в ходе своей работы использует Redis - резидентную систему управления базами данных NoSQL, работающую со структурами данных "​ключ-значение"​. Redis работает на порте 6379. Программный интерфейс в ходе своей работы использует Redis - резидентную систему управления базами данных NoSQL, работающую со структурами данных "​ключ-значение"​. Redis работает на порте 6379.
  
-====== ​Установка необходимых программных зависимостей ======+====== ​Программные зависимости ======
  
 Для функционирования программного интерфейса необходимо инсталлировать резидентную систему управления базами данных класса NoSQL Redis версии 6.0.1. Для функционирования программного интерфейса необходимо инсталлировать резидентную систему управления базами данных класса NoSQL Redis версии 6.0.1.
Строка 29: Строка 29:
   * express-graphql - модуль,​ связывающий фреймворк express и graphql   * express-graphql - модуль,​ связывающий фреймворк express и graphql
   * fetch - модуль для отправки асинхронных запросов   * fetch - модуль для отправки асинхронных запросов
-Все вышеперечисленные модули ​устанавливаются по-отдельности с помощью команды:​+Все вышеперечисленные можно ​установить по-отдельности с помощью команды:​
  
 <​code>​$ npm install "​имя пакета"</​code>​ <​code>​$ npm install "​имя пакета"</​code>​
 +Также все программные зависимости можно установить одной командой. Данный процесс описан в разделе "​Установка программного интерфейса на сервер"​.
  
 Все вышеописанное программное обеспечение необходимо устанавливать на операционные системы семейства Linux и Windows. При использовании Windows единственным ограничением будет необходимое использование операционной системы Windows 7 или выше. Все вышеописанное программное обеспечение необходимо устанавливать на операционные системы семейства Linux и Windows. При использовании Windows единственным ограничением будет необходимое использование операционной системы Windows 7 или выше.
  
 +====== Установка программного интерфейса на сервер ======
 +===== Установка NO-SQL базы данных Redis =====
 +Сначала необходимо установить кэширующее средство Redis. Для этого:
 +  - Обновим пакет apt:
 +<​code>​$ sudo apt update</​code>​
 +2. Установим пакет build-essential:​
 +<​code>​$ sudo apt-get install build-essential</​code>​
 +3. Установим Redis:
 +<​code>​$ sudo apt install redis-server</​code>​
 +4. Перезагрузим Redis:
 +<​code>​$ sudo systemctl restart redis.service</​code>​
 +5. Поставим автозапуск сервера Redis при запуске сервера:​
 +<​code>​$ sudo systemctl enable redis.service</​code>​
 +6. Проверим работу Redis:
 +<​code>​$ redis-cli</​code>​
 +7. Введем команду:​
 +<​code>​$ ping</​code>​
 +В результате должно вывестись сообщение "​PONG",​ что будет означать успешную установку Redis
 +
 +===== Установка Node.js =====
 +
 +1. Установим сам Node.js:
 +<​code>​$sudo apt install nodejs </​code>​
 +2. Установим менеджер пакетов:​
 +<​code>​$sudo apt install npm </​code>​
 +
 +===== Установка программных зависимостей =====
 +Для установки ранее описанных программных зависимостей необходимо создать файл package.json,​ находящийся в приложении 1 данного программного документа,​ после чего, поместив его в директорию проекта,​ ввести команду:​
 +<​code>​$npm install</​code>​
 +Все необходимые программные зависимости установятся одной командой.
 ====== Настройка программного интерфейса ====== ====== Настройка программного интерфейса ======
  
Строка 43: Строка 74:
 app.use('/​GraphQL',​GraphQLRouter) app.use('/​GraphQL',​GraphQLRouter)
 </​code>​ </​code>​
 +Также допустимо и отчасти рекомендуется использовать GraphQL явно, вставляя его в основной файл Express-приложения для большего быстродействия,​ без добавления в папку routes.
  
 ====== Проверка работоспособности ====== ====== Проверка работоспособности ======
Строка 60: Строка 92:
 |Redis connection failed ​  ​| ​ База данных Redis, необходимая для работы программного интерфейса,​ либо выключена,​ либо работает неисправно. ​                 |   ​Проверить запущена ли база данных Redis. В случае повторного возникновения данного сообщения перезагрузить ее, или переустановить,​ при необходимости. ​           | |Redis connection failed ​  ​| ​ База данных Redis, необходимая для работы программного интерфейса,​ либо выключена,​ либо работает неисправно. ​                 |   ​Проверить запущена ли база данных Redis. В случае повторного возникновения данного сообщения перезагрузить ее, или переустановить,​ при необходимости. ​           |
  
 +====== Приложение 1 ======
 +===== Файл package.json =====
 +<​code>​
 +{
 +  "​name":​ "​diplom",​
 +  "​version":​ "​0.0.0",​
 +  "​private":​ true,
 +  "​scripts":​ {
 +    "​start":​ "node ./​bin/​www"​
 +  },
 +  "​dependencies":​ {
 +    "​cookie-parser":​ "​~1.4.4",​
 +    "​debug":​ "​~2.6.9",​
 +    "​express":​ "​~4.16.1",​
 +    "​express-graphql":​ "​^0.9.0",​
 +    "​fetch":​ "​^1.1.0",​
 +    "​graphql":​ "​^15.0.0",​
 +    "​http-errors":​ "​~1.6.3",​
 +    "​moment":​ "​^2.24.0",​
 +    "​morgan":​ "​~1.9.1",​
 +    "​node-fetch":​ "​^2.6.0",​
 +    "​node-jq":​ "​^1.11.0",​
 +    "​pug":​ "​2.0.0-beta11",​
 +    "​redis":​ "​^2.8.0",​
 +    "​request":​ "​^2.88.0",​
 +  }
 +}
 +
 +</​code>​
  
doc/1605/643.mgul.16051-01_32_01.1592648274.txt.gz · Последние изменения: 2020/06/20 13:17 — kostylev