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

Как проверить, что входящие запросы попадают в gunicorn-flask через nginx

Я запускаю nginx, gunincorn (для запуска фляги). Когда я убиваю nginx, тестовая страница nginx исчезает, но приложение gunicorn / flask продолжает работать.

  1. Ожидается ли это?
  2. Как я могу убедиться, что gunicorn / nginx работают вместе?
  3. Я также проверил журнал доступа nginx и не вижу запросов к порту, к которому привязан gunicorn / flask.

Мой процесс

  1. Установить nginx
  2. Установить пулемет
  3. Настроить nginx

Настройка Nginx

cd /etc/nginx
mkdir sites-available
mkdir sites-enabled
vim /sites-available/my_site
server {
    location / {
        proxy_pass http://localhost:9000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}
dzdo ln -s ../sites-available/my_site my_site

Конфигурация Nginx

user  nginx;
worker_processes  1;
error_log  /var/log/nginx/error.log;
pid        /run/nginx.pid;

events {
    worker_connections  1024;
}

http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;

    sendfile        on;
    keepalive_timeout  65;
    include /etc/nginx/conf.d/*.conf;
    index   index.html index.htm;
    server {
        listen       90;
        server_name  localhost;
        root         /usr/share/nginx/html;

        location / {
        }

        error_page  404              /404.html;
        location = /40x.html {
        }

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
        }
    }

    server {
       listen 9001;
       server_name localhost;
       root /tmp/html/;

       location / {
       }
    }
}

Старт Gunicorn

gunicorn –bind 0.0.0.0:9000 “my_site.driver:create_app()” &
  1. Да потому что nginx и gunicorn - это разные процессы. Когда вы убиваете процесс nginx, процесс gunicorn все еще работает.

  2. Для этого вы можете использовать инструмент мониторинга, такой как naemon. Вы можете проверить процессы nginx и gunicorn по отдельности и убедиться, что они работают.

  3. Это тоже нормально. Поскольку конфигурация ведения журнала nginx по умолчанию не предоставляет эту информацию. (и я не знаю, это возможно)