web-dev-qa-db-fra.com

Nginx: directive inconnue "uwsgi_param" dans / etc / nginx / uwsgi_params: 1

En utilisant ce tutoriel de déploiement , j'essaie de mettre en marche un serveur Ubuntu 12.04 avec Flask, uWSGI et Nginx. J'ai maintenant du mal à faire fonctionner Nginx. Lorsque j'essaie de (re) démarrer nginx, il indique simplement ...fail!, et lorsque je lance un test (avec Sudo nginx -t), il indique:

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

Je n'ai rien changé dans ce fichier, donc son contenu est celui par défaut:

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;

La définition de mon serveur dans /etc/nginx/sites-available/www ressemble à ceci:

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;
    }
}

Est-ce que quelqu'un sait ce que je fais mal ici? Pourquoi ça ne marche pas? Tous les conseils sont les bienvenus!

4
kramer65

La solution pour moi était aussi simple que:

Sudo apt-get install nginx-full
4
Dae

La version de nginx installée ne prend pas en charge UWSGI. C'est assez facile d'en trouver un qui fait:

% 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)

Cela signifie que tous ces paquets contiennent uwsgi dans leurs descriptions, ce qui est généralement positif. Vous pouvez vérifier cela simplement en consultant la description, par exemple. apt-cache show packagename.

2
Josip Rodin