Wonderful one-liners in configuration

sbwoodside nginx-forum at nginx.us
Thu Apr 30 09:19:23 MSD 2009

I just love nginx, just adopted it today, and wanted to show my appreciation by sharing something I really like but haven't seen in any of the configuration examples: collapsing multiple-line config blocks into one line. For example here is my config for one of my sites. Look how nice and short it is :-)

upstream mongrel-hub { server; server; server; }
server {
  listen 80;
  server_name xxx;
  root /var/www/deployed-hub/current/public;
  error_page 500 502 503 504 /50x.html;  location = /50x.html { root /var/www/nginx-default; }
  if (-f $document_root/system/maintenance.html) { rewrite  ^(.*)$  /system/maintenance.html last; break; }
  location / {
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header -Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $http_host;
    proxy_redirect false;
    if (-f $request_filename) { rewrite (.*) $1 break; }
    if (-f $request_filename/index.html) { rewrite (.*) $1/index.html break; }
    if (-f $request_filename.html) { rewrite (.*) $1.html break; }
    if (!-f $request_filename) {
      proxy_pass http://mongrel-hub;

I've compressed blocks that I'll never need to think about again (and stole from other rails sites anyway) and keep things nice and clear. Thanks!

Posted at Nginx Forum: http://forum.nginx.org/read.php?2,1579,1579#msg-1579

More information about the nginx mailing list