"access_log" directive is not allowed here in... how to do this properly?

Micheal Wolfskill tdgh2323 at hotmail.com
Sun Mar 25 23:59:06 UTC 2012


Alex,

Thank you. This worked. Is it absolutely necessary to use a variable in the log file at the server {} section? Afterall... all of the logs of the listed countries are going to the same static filename.

--Mike

> Date: Mon, 26 Mar 2012 02:29:38 +0300
> From: kolesen.a at gmail.com
> To: nginx at nginx.org
> Subject: Re: "access_log" directive is not allowed here in... how to do this	properly?
> 
> > Hello !
> > 
> > Iam trying to log the requests coming from a list of countries into a seperate
> > log file.. Iam using the config below... BUt iam getting this error:
> > 
> > [emerg]: "access_log" directive is not allowed here in /etc/nginx/nginx.conf:55
> > configuration file /etc/nginx/nginx.conf test failed
> > 
> > How could I accomplish what iam trying to do?
> > 
> > Thanks!
> > 
> > --Mike
> > 
> > 
> > http {
> >          ......
> >          .......
> > 
> > geoip_country  /etc/nginx/GeoIP.dat;
> >       
> > map $geoip_country_code $log {
> >                         default       0;
> >                         CN 1; #"China"
> >                         RO 1; #"Romania"
> >                         IQ 1; #"Iraq"
> >                         IR 1; #"Iran
> >                         HK 1; #"Hong Kong"
> >                         IN 1; #"India"
> >                         }
> > 
> >         server {
> >                 listen   80;
> >                 server_name  domain.com;
> >                 .....
> >                 .....
> >                 if ($log) { access_log  /root/access-selected-slim.log; }
> >                 location / { proxy_pass http://12.163.169.32:80/;  }
> > 
> >                 }
> >      }
> > 
> 
> If you want to log queries from only the listed countries,
> you may write the following:
> 
> http {
>          ......
>          .......
> 
> geoip_country  /etc/nginx/GeoIP.dat;
> 
> map $geoip_country_code $log {
>                         default       dev/null;
>                         CN root/access-selected-slim.log; #"China"
>                         RO root/access-selected-slim.log; #"Romania"
>                         IQ root/access-selected-slim.log; #"Iraq"
>                         IR root/access-selected-slim.log; #"Iran
>                         HK root/access-selected-slim.log; #"Hong Kong"
>                         IN root/access-selected-slim.log; #"India"
>                         }
> 
>         server {
>                 listen   80;
>                 server_name  domain.com;
>                 .....
>                 .....   
>                 access_log /$log;
>                 location / { proxy_pass http://12.163.169.32:80/;  }
> 
>                 }
>      }
> 
> 
> But note that access logs with variables in their names have limitatios. 
> Refer to the http://wiki.nginx.org/HttpLogModule
> 
> _______________________________________________
> nginx mailing list
> nginx at nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx
 		 	   		  
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.nginx.org/pipermail/nginx/attachments/20120325/5f8ff9a0/attachment.html>


More information about the nginx mailing list