Подключение проекта Django, размещенного на виртуальной машине, с помощью Nginx и Gunicorn

Я новичок в развертывании приложений. В настоящее время я размещаю свой проект Django на виртуальной машине Ubuntu с IP-адресом 192.168.xxx.xxx. Он размещен на физическом сервисе с публичным IP-адресом 202.xxx.xxx.xxx (используется порт 8080).

У меня установлены и подключены gunicorn и nginx, и они работают правильно, так как sudo systemctl status gunicorn и sudo systemctl status nginx показывают, что они работают без ошибок. Однако, когда я пытаюсь получить доступ к публичному IP-адресу 202.xxx.xxx.xxx:8080, я получаю страницу Nginx по умолчанию.

Что касается того, как я настраивал gunicorn и nginx, я следовал руководству, опубликованному здесь:

https://medium.com/@muhammadali_12976/deploying-django-on-a-local-virtual-machine-virtualbox-with-nginx-and-gunicorn-369f70937913

Вот файл gunicorn.socket:

[Unit]
Description=gunicorn socket

[Socket]
ListenStream=/home/myProject/myProject.sock

[Install]
WantedBy=sockets.target

Вот файл gunicorn.service:

[Unit]

Description=gunicorn daemon
Requires=gunicorn.socket
After=network.target

[Service]

User=myUserName

Group=www-data

WorkingDirectory=/home/myProject

ExecStart=/home/myProject/env/bin/gunicorn --access-logfile - --workers 3 --bind unix:/home/myProject/myProject.sock core.wsgi:application

[Install]

WantedBy=multi-user.target

Вот содержимое моего файла /etc/nginx/sites-available/myProject

server {
    listen 80;
    server_name 192.168.xxx.xxx;
    location = /favicon.ico { access_log off; log_not_found off; }
    location /static/ {
        root /home/myProject;
    }
    location / {
        include proxy_params;
        proxy_pass http://unix:/home/myProject/myProject.sock;
    }
}

Нужно было использовать публичный адрес в server_name или IP-адрес виртуальной машины, на которой размещен мой проект Django? Кроме того, я также попробовал изменить порт в файле nginx на 8080, но почему-то это все равно не работает.

Вернуться на верх