web-dev-qa-db-ja.com

Munin / Nginx-エイリアスで指定されたパスが異なるにもかかわらず、Nginxがファイルのルートパスを先頭に追加

私はmuninをインストールしました(当分の間ここで利用可能です: http://brailsford.xyz/munin )問題は、コアが/ var/cache/munin/wwwからロードされている間に-なしo静的ファイルがロードされます。

私のnginx設定には次のものがあります:

    location /munin/static/ {
            alias /etc/munin/static/;
            expires modified +1w;
            autoindex on;
    }

    location /munin/ {
            #auth_basic            "Restricted";
            # Create the htpasswd file with the htpasswd tool.
            #auth_basic_user_file  /etc/nginx/htpasswd;

            alias /var/cache/munin/www/;
            expires modified +310s;
    }

AutoIndexは証拠のためにあります:フォルダはアクセス可能です: https://brailsford.xyz/munin/static/

ただし、そのフォルダー内のファイルをクリックすると404が表示され、nginxエラーログには次のように表示されます。

[error] 22570#0: *50 open() "/data/www/brailsford.xyz/munin/static/style-new.css" failed (2: No such file or directory)

/data/www/brailsford.xyzは、サーバー句全体で指定されたルートです。

任意の提案をいただければ幸いです:)

編集1:

    location ~* \.(js|css|png|jpg|jpeg|gif|ico|woff)$ {
            expires 1w;
    }
3
AviateX14

location ~* \.(js|css|png|jpg|jpeg|gif|ico|woff)$ブロックは、.cssで終わるURIに対して優先されます。これは、nginxrootに間違った値を使用しようとすることを意味します。

プレフィックスlocation^~修飾子を使用して、正規表現の場所よりも優先されるようにします。

例えば:

location ^~ /munin/static/ { 
    ...
}

これは、その場所に.phpファイルなどの特別なコンテンツがないことを前提としています。

詳細については、 このドキュメント を参照してください。

2
Richard Smith