web-dev-qa-db-ja.com

Nginx:/ etc / nginx / uwsgi_params:1の不明なディレクティブ「uwsgi_param」:

この導入チュートリアル を使用して、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;
    }
}

私がここで間違っていることを誰か知っていますか?なぜこれが実行されないのですか?すべてのヒントを歓迎します!

4
kramer65

私のための修正は次のように簡単でした:

Sudo apt-get install nginx-full
4
Dae

インストールされている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

2
Josip Rodin