map module - mass hosting
Maxim Dounin
mdounin at mdounin.ru
Wed Apr 23 14:34:54 UTC 2014
Hello!
On Wed, Apr 23, 2014 at 09:27:33AM -0400, beatnut wrote:
[...]
> > Searching within a map is basically identical to searching for
> > appropriate server{} block, both use the same internal mechanism
> > (ngx_hash). As long as you don't use regular expressions,
> > lookup complexity is O(1).
>
> So using for example:
>
> .example.com
> or
> example.*
>
> have more complexity or it shoud have full list of subdomains for better
> performance:
>
> www.example.com
> example.com
> example.somedomain.com
While wildcards require more work on each lookup, complexity is
still O(1). Note that regular expressions != wildcard names.
> > Distinct server{} blocks might be more CPU-efficient due to no need to
> >
> > evaluate variables and dynamically allocate memory for resulting
> > strings on each request.
>
> My configuration include one file with server{} per domain.
> exaple.com.conf
> example2.conf
> etc
>
> The main improvement i'd like to implement is to have one file with php
> config like fastcgi.conf above and then include it in every server{}
> Map module gives me this opportunity.
This is not something I would recommend to do. If you have
server{} block per domain, you should have enough data to write
configuration without introducing another map ($document_root,
$server_name, and so on).
Please also see this FAQ article:
http://nginx.org/en/docs/faq/variables_in_config.html
--
Maxim Dounin
http://nginx.org/
More information about the nginx
mailing list