Встановлення середовища та налаштування БД
Встановлення основних компонент
Для розгортання нового порталу необхідно мати наступне
- SSH / SFTP тунель до сервера замовника
- ПЗ FileZilla
- Доступ до https://git.softpro.ua/
Послідовність дій для розгортання порталу
Підключитись до сервера замовника через SSH (Putty,BASH, etc.)
За допомогою ПЗ FileZilla перекинути статичні файли. Локально вони розташовані в
/data/softpro/work/{{ШЛЯХ_ДО_ФАЙЛІВ}}
. До них входять такі репозиторії:
- tpl
- js
- files/admin
- files/geoportal
- Створити кореневий репозиторій для проектів з GIT:
mkdir -p /data/softpro/server
- Клонувати та встановити пакети з необхідних репозиторіїв. Необхідний мінімум - репозиторій
node
cd /data/softpro/server
git clone -b dev git@git.softpro.ua:softpro/node.git
cd /data/softpro/node
npm i --ignore-scripts
За необхідності те ж саме повторити для інших проектів:
git clone -b dev git@git.softpro.ua:projects/{{НАЗВА_ПРОЕКТУ}}.git
cd /data/softpro/{{НАЗВА_ПРОЕКТУ}}
npm i --ignore-scripts
Для розгортання проталу на сторонньому сервері необхідно використовувати логін та пароль користувача, закріпленого за проектом. За відсутності такого користувача, його необхідно створити і надати доступ до відповідного проекту. Для клонування проекту та його оновлення необхідно використовувати username && password даного користувача:
git clone -b dev http://git@git.softpro.ua/softpro/node.git
git clone -b dev http://git.softpro.ua/projects/{{НАЗВА_ПРОЕКТУ}}.git
- Встановити необхідні пакети (node.js, postgres, pm2, etc.)
/data/softpro/server/node/script/install.sh
apt install npm
npm install pm2 -g
- Створення БД
psql -U postgres -c 'create database {{НАЗВА_БД}}' -p {{ПОРТ_БД}}
- Налаштування config файлів
Необхідно створити файл
index.json
за шляхом/data/softpro/server/node/config/db
. Для цього необхідно вказати шлях до БД, яку планується розгорнути на порталі.
Також необхідно створити файл configServer.json
за шляхом /node/config/
.
Зазвичай достатньо просто скопіювати файл configServer.example
, та змінити його розширення.
В якості порта для nginx необхідно використовувати наступний за порядком після вже використовуваного на даному сервері.
На сторонньому сервері, інші порти можуть бути закриті. За необхідності, тому їх треба буде відкрити вручну
- Розгорнути БД за допомогою pm2:
cd /data/softpro/server/node
npm start
Для запуску нового порталу локально необхідно виконати команду:
pm2 --name {{Назва процесу}} start index.js -- {{Порт процесу}} {{Файл index.json без розширення}}
Після цього необхідно відрудагувати config nginx, а саме файл /data/softpro/server/node/config/nginx/{{Порт для nginx}}_{{Префікс до назви}}_{{Назва БД}}.conf
. В даному файлі необхідно відредагувати посилання на портал. Є 2 протоколи, під якими може здійснюватись доступ до порталу - http (80 порт) та https (443 порт).
Посилання на публічну та адмін. частину сайту вказується після змінної server_name
та не містить лише хост та домен.
Дані посилання мають збігатись з аналогічними з config файлу index.json.
Приклад index.json:
{
"{{АДМІН_ПОСИЛАННЯ}}.{{ДОМЕН}}":{
"project":"{{НАЗВА_ПРОЕКТУ}}",
"sid":35,
"folder":"/data/softpro/work/{{ШЛЯХ_ДО_ФАЙЛІВ}}",
"db":"postgres:1111@localhost:{{ПОРТ_БД}}/{{НАЗВА_БД}}"
},
"{{ПУБЛІЧНЕ_ПОСИЛАННЯ}}.{{ДОМЕН}}":{
"project":"{{НАЗВА_ПРОЕКТУ}}",
"sid":1,
"folder":"/data/softpro/work/{{ШЛЯХ_ДО_ФАЙЛІВ}}",
"db":"postgres:1111@localhost:{{ПОРТ_БД}}/{{НАЗВА_БД}}"
},
}
Сервіс pm2 автозапуск
Автозапуск pm2 після restart
pm2 startup
- активація сервісуpm2 save
- збереження поточних запущених node
Сервіси postgresql, redis - запускаються самі