У попередньому матеріалі був описаний процес установки і настройки медіа порталу 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. і не забуваємо зробити його виконуваним
додаємо в автозапуск
На цьому начебто все.
Хай щастить.