title: NGINX Multiple Site Config One IP
body: <p>I have a virtual machine that my company uses for a web server. We an internal PHP application on it and now are needing to add a site to this server. The problem is the VM on has one IP. I have Windows DNS Manager set to point to this IP but it only will pull up the main site. Is there a way to configure nginx to where it will pick which site to pull up? </p>
  
  <p>Here is my first site config:</p>
  
  <pre><code> server {
  
    server_name develop.aspirion.com;
  
  
    root /var/www/vhosts/develop.aspirion.com;
    index index.html;
  
    location ~ \.php$ {
  
      try_files $uri =404;
      fastcgi_split_path_info ^(.+\.php)(/.+)$;
      fastcgi_pass unix:/var/run/php5-fpm/php5-fpm.sock;
      fastcgi_index index.php;
      include fastcgi_params;
   }
  }
  </code></pre>
  
  <p>Here is my second site config:</p>
  
  <pre><code>server {
  
  server_name aspirion.com;
  
  access_log  /var/log/nginx/aspirion.com-access.log;
  error_log   /var/log/nginx/aspirion.com-error.log;
  
  root /var/virtual/aspirion.com/master/current/webroot;
  index index.php;
  
  location / {
    # error_page 404 /index.php;
  
    location = / {
      error_page 404 =200 /index.html;
    }
  
    location ~* ^.+\.(?:css|js|jpe?g|gif|htc|ico|png|html|xml)$ {
      access_log off;
      expires 30d;
      tcp_nodelay off;
      open_file_cache max=3000 inactive=120s;
      open_file_cache_valid 45s;
      open_file_cache_min_uses 2;
      open_file_cache_errors off;
    }
    location ~* ^.+\.(?:pdf|pptx?)$ {
      expires 30d;
      tcp_nodelay off;
    }
  
    # TODO: never allow private files inside the web root?
    location ^~ /sites/default/files/private/ {
      internal;
    }
  
    location ~* ^(?:.+\.(?:htaccess|make|txt|engine|inc|info|install|module|profile|po|sh|.*sql|theme|tpl(?:\.php)?|xtmpl)|code-style\.pl|/Entries.*|/Repository|/Root|/Tag|/Template)$ {
      return 404;
    }
  
    try_files $uri $uri/ /index.php?$uri&amp;$args;
  }
  
  location = /index.php {
    fastcgi_pass phpcgi;
  }
  
  location = /.git {
    return 404;
  }
  
  location = /patches {
    return 404;
  }
  
  location = /backup {
    return 404;
  }
  
  location = /robots.txt {
    access_log off;
  }
  
  location = /humans.txt {
    access_log off;
    try_files $uri $uri/ /index.php?$uri&amp;$args;
  }
  
  location = /rss.xml {
    try_files $uri $uri/ /index.php?$uri&amp;$args;
  }
  
  location = /sitemap.xml {
    try_files $uri $uri/ /index.php?$uri&amp;$args;
  }
  
  location = /favicon.ico {
    try_files /favicon.ico =204;
  }
  
  location ~* ^.+\.php$ {
    return 404;
  }
  }
  
  server {
  server_name munin.aspirion.com;
  
  include sites-available/admin.conf;
   }
  </code></pre>