SORU
28 Mart 2012, ÇARŞAMBA


nginx alt yapılandırma

Nginx apache ters proxy olarak hareket var. Ben şimdi yeni bir etki alanı eklemek lazım başka bir dizinden dosyaları hizmet edecek, ama aynı zamanda varsayılan ana bilgisayar için etki alanı için uygulamak için de bu konum ve proxy_pass direktifleri istiyorum.

Eğer yeni alt etki alanı için varsayılan ana kuralları ben kopyala çalışacağını biliyorum, ama orada alt etki alanı için bir yoludur kuralları miras? Aşağıda örnek bir yapılandırma

server {
    listen       80;
    server_name  www.somesite.com;
    access_log  logs/access.log;
    error_log  logs/error.log error;


   location /mvc {
      proxy_pass  http://localhost:8080/mvc;
   }


   location /assets {
      alias   /var/www/html/assets;
      expires     max;
   }

   ... a lot more locations
}

server {
    listen       80;
    server_name  subdomain.somesite.com;

    location / {
                root   /var/www/some_dir;
                index  index.html index.htm;
        }
}

Teşekkürler

CEVAP
28 Mart 2012, ÇARŞAMBA


Hem sunucu gruptan başka bir yapılandırma dosyası ve include ortak parçaları taşıyabilirsiniz. Bu çalışması gerekir:

server {
  listen 80;
  server_name server1.example;
  ...
  include /etc/nginx/include.d/your-common-stuff.conf;
}

server {
  listen 80;
  server_name another-one.example;
  ...
  include /etc/nginx/include.d/your-common-stuff.conf;
}

Edit: Burada aslında benim çalışan sunucu. kopyalanmış bir örnek. /etc/nginx/sites-enabled (Ubuntu/nginx için normal şeyler Debian) temel sunucu ayarlarını Yapılandır. Örneğin, 8**benim ana server'ın yapılandırma dosyası /etc/nginx/sites-enabled ve bu gibi görünüyor:

server {
  listen   80 default_server;
  listen   [2a01:4f8:120:3105::101:1]:80 default_server;

  include /etc/nginx/include.d/all-common;
  include /etc/nginx/include.d/bunkus.org-common;
  include /etc/nginx/include.d/bunkus.org-80;
}

server {
  listen   443 default_server;
  listen   [2a01:4f8:120:3105::101:1]:443 default_server;

  include /etc/nginx/include.d/all-common;
  include /etc/nginx/include.d/ssl-common;
  include /etc/nginx/include.d/bunkus.org-common;
  include /etc/nginx/include.d/bunkus.org-443;
}

Örnek olarak burada server her iki gruptan gelen /etc/nginx/include.d/all-common dosya:

index index.html index.htm index.php .dirindex.php;
try_files $uri $uri/ =404;

location ~ /\.ht {
  deny all;
}

location = /favicon.ico {
  log_not_found off;
  access_log off;
}

location ~ /(README|ChangeLog)$ {
  types { }
  default_type text/plain;
}

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Incredible Tutorials

    Incredible T

    27 EKİM 2006
  • MrChiCity3

    MrChiCity3

    14 NİSAN 2008
  • paikimchung

    paikimchung

    12 Mayıs 2006