Nginx: неизвестная директива "uwsgi_param" в /etc/nginx/uwsgi_params:1

Используя это руководство по развертыванию, я пытаюсь запустить и запустить сервер Ubuntu 12.04 с Flask, uWSGI и Nginx. Теперь у меня проблемы с запуском Nginx. Когда я пытаюсь (пере) запустить nginx, он просто говорит ...fail!и когда я запускаю тест (используя sudo nginx -t), это говорит:

nginx: [emerg] unknown directive "uwsgi_param" in /etc/nginx/uwsgi_params:1
nginx: configuration file /etc/nginx/nginx.conf test failed

Я ничего не изменил в этом файле, поэтому его содержимое по умолчанию:

uwsgi_param     QUERY_STRING            $query_string;
uwsgi_param     REQUEST_METHOD          $request_method;
uwsgi_param     CONTENT_TYPE            $content_type;
uwsgi_param     CONTENT_LENGTH          $content_length;

uwsgi_param     REQUEST_URI             $request_uri;
uwsgi_param     PATH_INFO               $document_uri;
uwsgi_param     DOCUMENT_ROOT           $document_root;
uwsgi_param     SERVER_PROTOCOL         $server_protocol;
uwsgi_param     UWSGI_SCHEME            $scheme;

uwsgi_param     REMOTE_ADDR             $remote_addr;
uwsgi_param     REMOTE_PORT             $remote_port;
uwsgi_param     SERVER_PORT             $server_port;
uwsgi_param     SERVER_NAME             $server_name;

Определение моего сервера в /etc/nginx/sites-available/www выглядит так:

server {
    listen 8080;
    server_name myapp;

    root /var/www/myapp;
    try_files $uri @uwsgi;
    location @uwsgi {
        include uwsgi_params;
        uwsgi_pass unix:/tmp/myapp.sock;
    }
}

Кто-нибудь знает, что я здесь делаю не так? Почему это не работает? Все советы приветствуются!

2 ответа

Решение

Исправление для меня было так просто, как:

sudo apt-get install nginx-full

Установленная версия nginx не поддерживает UWSGI. Довольно легко найти тот, который делает:

% apt-cache search nginx uwsgi
nginx-core - nginx web/proxy server (core version)
nginx-extras - nginx web/proxy server (extended version)
nginx-full - nginx web/proxy server (standard version)

Это означает, что все эти пакеты содержат uwsgi в своих описаниях пакетов, что обычно в положительном смысле. Вы можете убедиться в этом, просто взглянув на описание, например apt-cache show packagename,

Другие вопросы по тегам