Налаштування зв'язки nginx uwcgi mediacore в режимі production

У попередньому матеріалі був описаний процес установки і настройки медіа порталу mediacore в режимі development.
Зараз прийшов час встановити і налаштувати зв'язку nginx uwsgi mediacore, для роботи в production режимі.

Установка веб сервера nginx

Що таке nginx, дкмаю розповідати Ніко не потрібно), якщо він ще не встановлений, ставимо.
Свіжу версію можна отримати, додавши репозитарій з офіційного сайту nginx.
В кінець файлу /etc/apt/sources.list додаємо:

звідти-ж, з оффсайта nginx, беремо ключ:

готово, ну і тепер оновлюємо список пакетів і ставимо поточну стабільну версію nginx:

Установка і настройка uwsgi

Тепер поставимо WSGI додаток яке буде обробляти запити до Mediacore, що приходять через nginx. Для цього виконуємо:

зверніть увагу, віртуальне середовище должнв бути вже активована командою source / home / mediacore_env / bin / activate

створюємо новий конфігураційний файл для mediacore

прописуємо правильні дані для доктупа до бази mysql, як робили раніше і дописуємо в кінець наступного блок налаштувань для uwsgi

крім того, робимо деяку оптимізацію в файлі конфіга, маємо отримати:

запускаємо uwsgi з нашим новим конфіг;

на всякий випадок перевіряємо що там упало в /var/log/uwsgi.log. так-же не зайвим буде подивитися на місці-ли файл сокета /tmp/uwsgi.sock. якщо все в нормі, відмінно.

В самому кінці статті виклав робочий init скрипт, накидав за 3 хвилини на коліні, так що строго не судіть, хто цього потребує, сам до розуму доведе).

Налаштування nginx

Черга за nginx.
В папці /etc/nginx/conf.d. створюємо файл mediacore.conf такого змісту:

Перевіряємо правильність конфіга, якщо все в нормі, запускаємо nginx:

Тпер з приводу користувача від якого буде працювати uwsgi. при написанні я не став заморочуватися і все робив від рута, оскільки машина все таки виртуалка а не бойовий сервак, але в робочих умовах це вкрай не бажано.
Як привести все в порядок. По-перше потрібно створити користувача, наприклад mediacore. призначивши йому домашньої папкою / home / mediacore. Змінити власника цієї папки з усім вмістом на mediacore, оскільки папку я створив під рутом, належить вона руту, хоч і числиться домашньої для mediacore. Ну і запускати uwsgi з відповідними ключами --uid, --gid. Взагалі рекомендую подивитися uwsgi -h. там досить багато ключів.

Для запуску вийшло щось в цьому дусі:
init скрипт uwsgi.sh

coxраняем в /etc/init.d/uwsgi.sh. і не забуваємо зробити його виконуваним

додаємо в автозапуск

На цьому начебто все.
Хай щастить.