A correção para mim foi tão simples quanto:
sudo apt-get install nginx-full
Usando este tutorial de implantação , estou tentando obter um servidor Ubuntu 12.04 instalado e funcionando com o Flask, uWSGI e Nginx. Agora tenho problemas para executar o Nginx. Quando eu tento (re) iniciar o nginx ele simplesmente diz ...fail!
, e quando eu executo um teste (usando sudo nginx -t
), ele diz:
nginx: [emerg] unknown directive "uwsgi_param" in /etc/nginx/uwsgi_params:1
nginx: configuration file /etc/nginx/nginx.conf test failed
Eu não mudei nada nesse arquivo, então seu conteúdo é o padrão:
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;
Minha definição de servidor em /etc/nginx/sites-available/www
é assim:
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;
}
}
Alguém sabe o que estou fazendo errado aqui? Por que isso não acontece? Todas as dicas são bem vindas!
A correção para mim foi tão simples quanto:
sudo apt-get install nginx-full
A versão do nginx instalada não suporta o UWSGI. É bastante fácil encontrar um que faça:
% 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)
Isso significa que todos esses pacotes contêm o uwsgi em suas descrições de pacotes, o que geralmente é no sentido positivo. Você pode verificar isso simplesmente observando a descrição, por exemplo apt-cache show packagename
.