Nginx: Belirli bir dizinden statik dosyaları sunma - bir düzey çok derin


13

Nginx yapılandırmalarında oldukça yeniyim. Oldukça basit bir problemle ilgili zorluk yaşıyorum. / Doc'de bazı dizin dosyaları barındırmak istiyorum (index.html, bazı resimler vb.). Dosyalar / sites / mysite / proj / doc / adlı bir dizinde bulunur.

Sorun şu ki, aşağıdaki nginx yapılandırmasında, nginx "/ sites / mysite / proj / doc / doc" adlı bir dizini aramaya çalışır. Belki de bu, kök / sites / sitem / proj / olarak ayarlanarak düzeltilebilir, ancak proj / dizindeki diğer (statik olmayan) varlıkları potansiyel olarak ortaya çıkarmak istemiyorum. Ve çeşitli nedenlerle, doc / dizini olduğu yerden gerçekten taşıyamıyorum.

Bu durumu çözmek için Yeniden Yazma kuralını kullanmanın bir yolu olduğunu düşünüyorum, ancak tüm parçaları gerçekten anlamıyorum, bu yüzden kuralı formüle etmekte zorluk çekiyorum.

rewrite ^/doc/(.*)$ /$1 permanent;

Ayrıca / sites / mysite / htdocs / static / dizininden dosya barındırma çalışma örneği de ekledim.

> vim locations.conf

location /static {
    root   /sites/mysite/htdocs/;
    access_log   off;
    autoindex  on;
}

location /doc {
    root   /sites/mysite/proj/doc/;
    access_log   on;
    autoindex  on;
}


2011/11/19 23:49:00 [error] 2314#0: *42 open() "/sites/mysite/proj/doc/doc" failed (2: No such file or directory), client: 100.100.100.100, server: , request: "GET /doc HTTP/1.1", host: "myhost.com"

Herkes bu statik içerik sunma hakkında nasıl bir fikir var mı?

Yanıtlar:


Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.