Установка и настройка NGINX
В этом шаге мы настроим NGINX для работы в качестве обратного прокси-сервера для сервера приложений Gunicorn и в качестве веб-сервера для выдачи статичного контента. Это повысит безопасность и снизит нагрузку на виртуальный сервер.
Приступим к установке NGINX, для начала обновим списки пакетов:
apt update -y
А затем установим сам NGINX, выполняем:
apt install nginx -y
Проверяем статус службы NGINX:
systemctl status nginx
NGINX запустился и работает, завершаем просмотр нажатием клавиши Q.
Проверяем работоспособность NGINX, откроем наш сайт в браузере: http://<имя вашего домена>:
Видим страницу приветствия NGINX, веб-сервер работает нормально.
Теперь можно настроить веб-сервер для работы с нашим проектом.
Для начала переходим в директорию конфигов для сайтов /etc/nginx/sites-available:
cd /etc/nginx/sites-available
Примечание: директория sites-available является только хранилищем всех доступных конфигов сайтов,
и при загрузке или перезагрузке NGINX конфиги из данной директории не учитываются.
Чтобы конфиг загрузился, необходимо поместить символическую ссылку на него в директорию sites-enabled.
Таким образом(созданием или удалением ссылок в директории sites-enabled) "включаются" или "выключаются" конфиги в директории sites-available.
А затем создадим конфиг, с именем mysite_03.conf, для нашего сайта:
vi mysite_03.conf
Со следующим содержимым:
server {
listen 80;
server_name django-blog.my-domain.ru;
location = /favicon.ico { access_log off; log_not_found off; }
location /static/ {
alias /var/www/mysite_03/static/;
}
location /media/ {
alias /var/www/mysite_03/media/;
}
location / {
include proxy_params;
proxy_pass http://127.0.0.1:8001;
}
}
Примечание: django-blog.my-domain.ru необходимо заменить на ваше доменное имя.
Теперь "включим" этот конфиг, создадим символическую ссылку на него в директории sites-enabled:
ln -s /etc/nginx/sites-available/mysite_03.conf /etc/nginx/sites-enabled/
Затем переходим в директорию /etc/nginx/sites-enabled и удаляем ссылку на конфиг default:
cd ../sites-enabled
ls -la
rm default
ls -la
В этой директории осталась только ссылка на конфиг нашего сайта, "включен" только он.
Проверим корректность конфига веб-сервера:
nginx -t
Теперь можно перезапустить NGINX, выполняем:
systemctl restart nginx
Проверяем результат, снова откроем наш сайт в браузере: http://<имя вашего домена>:
Теперь, вместо страницы приветствия NGINX, отображается наш блог.