Hello! On Tue, Aug 27, 2013 at 04:43:12PM +0800, Kai Hendry wrote:
> Hi there, > > I've tried to replicate my Apache VirtualDocumentRoot /srv/www/%0 to > nginx. > > I have http://dabase.com/e/04055/ with > > server_name ~^(?<vhost>.*)$; > root /srv/www/$vhost; > access_log /var/log/nginx/$vhost.access.log; > > However it's still logging to /var/log/nginx/access.log instead of > /var/log/nginx/$vhost.access.log. > > [root@sg ~]# cd /var/log/nginx/ > [root@sg nginx]# inotifywait -r -m . > Setting up watches. Beware: since -r was given, this may take a while! > Watches established. > ./ MODIFY access.log > ./ MODIFY access.log > > `root /srv/www/$vhost;` works, but not `access_log > /var/log/nginx/$vhost.access.log;`. > > What am I missing? http://nginx.org/r/access_log : The file path can contain variables (0.7.6+), but such logs have some : constraints: : : - the user whose credentials are used by worker processes should have : permissions to create files in a directory with such logs; : : - buffered writes do not work; : : - the file is opened and closed for each log write. However, since the : descriptors of frequently used files can be stored in a cache, writing to the : old file can continue during the time specified by the open_log_file_cache : directive’s valid parameter : : - during each log write the existence of the request’s root directory is : checked, and if it does not exist the log is not created. It is thus a good : idea to specify both root and access_log on the same level: -- Maxim Dounin http://nginx.org/en/donation.html _______________________________________________ nginx mailing list [email protected] http://mailman.nginx.org/mailman/listinfo/nginx
