Назад | Перейти на главную страницу

Получать 404 Not Found для приложения Flask, когда я использую Nginx в качестве обратного прокси с сокетом Gunicorn

Я слежу за учебником Вот чтобы развернуть собственное приложение Flask на моем сервере Ubuntu 16. я использовал Nginx как обратный прокси для передачи запросов gunicorn разъем. На всякий случай кто-нибудь хочет знать ufw разрешено для Nginx All.

Вот что я пробовал до сих пор:

  1. Я проверил, есть ли Flask приложение запускалось на локальном сервере, запуская приложение локально на порту 5000 (работал нормально)
  2. Я проверил, может ли Gunicorn служить, запустив: gunicorn --bind 0.0.0.0:5000 wsgi:app (работал нормально)
  3. Я сделал /etc/systemd/system/myapp_service.service файл (ниже)
[Unit]
Description=Gunicorn instance to serve my app
After=network.target

[Service]
User=ubuntu
Group=www-data
WorkingDirectory=/var/www/app/flaskapp
Environment="PATH=/home/ubuntu/.virtualenvs/app_env/bin"
ExecStart=/home/ubuntu/.virtualenvs/app_env/bin/gunicorn --workers 3 --bind unix
:/var/www/app/flaskapp/myapp.sock -m 002 wsgi:app
[Install]
WantedBy=multi-user.target
  1. Я сделал Nginx файл конфигурации в sites-available как показано ниже:
server {
    listen 80;
    server_name app.mydomain.com;

    location / {
        include proxy_params;
        proxy_pass http://unix:/var/www/app/flaskapp/myapp.sock;
    }
}
  1. Я сделал символическую ссылку на sites-enabled, побежал sudo nginx -t
  2. Перезапущен Nginx и myapp_service с участием systemctl
  3. Когда я иду в http://app.mydomain.com он просто показывает мне ту большую страницу «Добро пожаловать в Nginx» вместо моего приложения.

Что еще мне нужно настроить?

вероятно, это неверно:

proxy_pass http: //unix: /var/www/app/flaskapp/myapp.sock;

Постарайтесь оставить только эту часть:

proxy_pass unix:/var/www/app/flaskapp/myapp.sock;