最小化和优化NGINX vhost配置

时间:2017-03-21 12:44:16

标签: nginx

是否可以优化/最小化下面发布的配置?

我觉得应该可以将所有重定向合并为更简单的东西。

http://& http://www& https://www> HTTPS://

虽然我遇到了问题但已经解决了。

我理解NGINX配置中不支持变量,因此我必须手动定义日志位置。是否有办法为所有虚拟机设置默认位置?

我对所有vhost使用相同的?文件。是否可以基于每个虚拟机默认和禁用它?

ssl-params.conf

1 个答案:

答案 0 :(得分:0)

  

我理解NGINX配置中不支持变量,因此我必须手动定义日志位置。是否有办法为所有虚拟机设置默认位置?

是的,只需在您的配置的http上下文中进行定义,或者使用您的发行版的默认设置(例如/var/log/nginx/access.log)。

  

我对所有vhost使用相同的ssl-params.conf文件。是否可以基于每个虚拟机默认和禁用它?

它的另一种方式是通过include指令在你需要的地方启用它。

这是一个较短的配置(未经测试):

http {
    error_log   /srv/logs/nginx.error.example.com.log;
    access_log  /srv/logs/nginx.access.example.com.log;
    index       index.php index.html index.htm;

    server {
        listen 80;
        listen 443 ssl;
        server_name .example.com;

        include snippets/ssl-example.com.conf;
        include snippets/ssl-params.conf;

        return 301 https://example.com$request_uri;
    }

    server {
        listen 443 ssl;
        server_name example.com;
        root /srv/example.com/_site/;

        include snippets/ssl-example.com.conf;
        include snippets/ssl-params.conf;

        location / {
            location ~ \.php$ {
                include snippets/fastcgi-php.conf;
                fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

                try_files $uri =404;
            }

            location ~* \.(jpe?g|png|gif|ico|css|js)$ {
                expires 365d;
            }

            location ~* \.(pdf)$ {
                expires 30d;
            }

            try_files $uri $uri/ /index.php?$args;
        }

        location /.well-known {
            allow all;
        }
    }
}