nginx:如何划分/etc/nginx/conf.d/default.conf?

时间:2018-03-07 16:19:19

标签: nginx

寻找一种方法来划分/etc/nginx/conf.d/default.conf,就像每个站点一样。任何的想法? 当前文件如下所示:

 upstream Master_MAT {
    server 172.18.0.3:8080;
  }

  upstream Master_PAT {
    server 172.18.0.4:8080;
 }
 server {
    listen       80;
    server_name  localhost;

    #charset koi8-r;
    access_log  /var/log/nginx/access.log  main;
    error_log  /var/log/nginx/error.log  warn;

    root /etc/nginx/html;
    index index.html index.php;

    #charset koi8-r;

   location / {
    root /etc/nginx/html;
        try_files $uri /$uri $uri/ =404;
   }

   location /Master_MAT {
        proxy_set_header Host $proxy_host;
        proxy_pass http://Master_MAT/Master_MAT;
#       proxy_redirect off;
        proxy_buffering off;
        proxy_set_header        Host    $host;
        proxy_set_header        X-Real-IP       $remote_addr;
        proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
        }
   location /Master_PAT {
        proxy_set_header Host $proxy_host;
        proxy_pass http://Master_PAT/Master_PAT;
#       proxy_redirect off;
        proxy_buffering off;
        proxy_set_header        Host    $host;
        proxy_set_header        X-Real-IP       $remote_addr;
        proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
        }
}

有没有办法将Master_MAT放在不同的文件中?试图使用'包括'但失败了。

THX

1 个答案:

答案 0 :(得分:1)

大多数人建议使用sites-enabledsites-available approach

http {
    …
    include /etc/nginx/conf.d/*.conf;
    include /etc/nginx/sites-enabled/*;
}

现在你可以离开'禁用' sites-available中的网站,并在您希望其使用时将其移至sites-enabled文件夹。

这是一个通配符,因此您只需为每个网站创建新的.conf文件,它就会自动加载它们。

以下是/etc/nginx/sites-available/example.com

内容的示例
server {
        listen 80 default_server;
        listen [::]:80 default_server;

        root /var/www/html;
        index index.html index.htm index.nginx-debian.html;

        server_name _;

        location / {
                try_files $uri $uri/ =404;
        }
}