Проблема с настройкой nginx для обслуживания приложений Python - PullRequest
0 голосов
/ 01 мая 2019

Я пытаюсь настроить сервер Ubuntu, на котором могут размещаться приложения Python. У него есть веб-сервер nginx. Я довольно новичок в этих технологиях.

Мне удалось настроить nginx для обслуживания статических html-файлов, но у меня возникла проблема с настройкой Python. То, что я получаю, это то, что он не может найти страницы (например, ошибка 404).

Я следовал инструкциям по следующему URL: https://www.digitalocean.com/community/tutorials/how-to-set-up-uwsgi-and-nginx-to-serve-python-apps-on-ubuntu-14-04

Мой пример приложения очень похож на пример, который у них есть, за исключением того, что я назвал его app.py и скопировал его в папку "/srv/www/gobid/live".

Мой код "app.py" выглядит следующим образом:

def application(env, start_response):
        start_response('200 OK', [('Content-Type','text/html')])
        return "Hello World From Digital Ocean"

В "/ etc / nginx / sites-enabled /" у меня есть один файл конфигурации, который выглядит следующим образом:

server {
        listen   80;

        root /srv/www/gobid/live;
        index index.html index.htm test.html;

        # Make site accessible from http://localhost/
        # server_name localhost;
        server_name 10.220.200.11;

        access_log /var/log/nginx/gobid.access.log main;
        error_log /var/log/nginx/gobid.error.log;

        location / {
                # First attempt to serve request as file, then
                # as directory, then fall back to index.html
                try_files $uri $uri/ /index.html;
                # Uncomment to enable naxsi on this location
                # include /etc/nginx/naxsi.rules

                #include        uwsgi_params;
                #uwsgi_pass     /srv/www/gobid/live/myapp.sock;
        }

        location /doc/ {
                alias /usr/share/doc/;
                autoindex on;
                allow 127.0.0.1;
                deny all;
        }

        location /hello/ {
                include uwsgi_params;
                # uwsgi_pass 127.0.0.1:9090;
        }
}

Я пытался создать сокет, но это привело к тому, что nginx больше не обслуживал статические страницы. Я настроил URL "10.220.200.11", чтобы он указывал на сайт.

Когда я набираю "http://10.220.200.11/",, статическая страница отображается правильно.

Я хочу, чтобы "http://10.220.200.11/hello/" возвращал контент, обслуживаемый app.py (в данном случае это будет" Hello World From Digital Ocean "), но вместо этого он говорит, что файл не найден. (Статический page и app.py находятся в одном каталоге).

...