Я не могу получить доступ к Flask веб-сайту, обслуживаемому gunicorn при работе nginx - PullRequest
0 голосов
/ 11 января 2020

Заранее извиняюсь, я новичок во всем этом!

Я написал приложение, используя Flask -socketio. Веб-сайт работал нормально на сервере разработки и доступ к нему через localhost: 5000.

Я обслуживаю приложение с помощью gunicorn, и когда я запускаю

gunicorn --bind 0.0.0.0:5000 wsgi:app

, я могу получить доступ к сайту через 0.0.0.0:5000.

Теперь я попытался использовать systemd и nginx для создания точки доступа к внешнему миру. nginx работает без ошибок, но если я пытаюсь открыть его в браузере, он больше не работает. Я пробовал все виды вещей, используя IP-адрес моего сервера и снова пробуя 0.0.0.0.

Я звоню, начав nginx с systemd. Может быть, это не так?

systemctl status nginx

Я в недоумении, ни одно решение, предложенное онлайн, не помогло мне до сих пор.

Моя структура приложения: / opt / myproj / proj_srv / functions (например, application.py и wsgi.py) / opt / myproj / proj_srv / functions / stati c (все файлы c, например, индекс. html)

My Файл конфигурации проекта в / etc / nginx / sites-enabled / NEMO

        listen 80;
        server_name FRTM999.com www.FRTM999.com;
        location/ {
                proxy_pass http://127.0.0.1:8080;
                }
        location /static/ {
                autoindex on;
        alias /opt/NEMO/NEMO_Srv/functions/static/;
          }
}

файл конфигурации nginx /etc/nginx/nginx.conf


events {

    worker_connections 1024;

}

http {

    sendfile on;

    gzip              on;
    gzip_http_version 1.0;
    gzip_proxied      any;
    gzip_min_length   500;
    gzip_disable      "MSIE [1-6]\.";
    gzip_types        text/plain text/xml text/css
                      text/comma-separated-values
                      text/javascript
                      pplication/x-javascript
                      application/atom+xml;

    # Configuration containing list of application servers
    upstream app_servers {

        server 127.0.0.1:8080;
        # server 127.0.0.1:8081;
        # ..
}

    # Configuration for Nginx
    server {

        # Running port
        listen 80;

        # Settings to serve static files 
        location ^~ /static/  {

            # Example:
            # root /full/path/to/application/static/file/dir;
            root /opt/NEMO/NEMO_Srv/functions/static/;

        }
 Serve a static file (ex. favico)
        # outside /static directory
        location = /favico.ico  {

            root /opt/NEMO/NEMO_Srv/functions/static/favico.ico;

        }

        # Proxy connections to the application servers
        # app_servers
        location / {

            proxy_pass         http://app_servers;
            proxy_redirect     off;
            proxy_set_header   Host $host;
            proxy_set_header   X-Real-IP $remote_addr;
            proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
      }
    }
}

My systemd служебный файл

[Unit]
Description=uWSGI instance to serve myproject
After=network.target

[Service]
User=root
Group=www-data
WorkingDirectory=/opt/NEMO/NEMO_Srv/functions
ExecStart=/usr/bin/env gunicorn wsgi:app -b 0.0.0.0:5000

[Install]
WantedBy=multi-user.target

Я не уверен, что еще предоставить, пожалуйста, дайте мне знать, если я смогу прояснить свой вопрос. Также спасибо, что нашли время! Я очень ценю это!

...