Drupal 8 Configuration for Nginx Server Blocks, Ubuntu 14.04

Updated: 28 January, 2015 seen 2,014

After a long period of doubts should I start testing and developing with Drupal 8, which stable version is not yet released, yesterday I decided to give a try for a Drupal 8 beta release.

I bought a new Linode VPS, quickly deployed there Ubuntu 14.04 and installed Nginx as web server. I did it because of my current server is php 5.2, and Drupal 8 is asking for at least php 5.3. So  - not to mess up with my existing server configuration, a new Linode seemed the best option. 

All went pretty smoothly, I had some problems to configure Nginx virtual server blocks, but after couple of hours investigation all went right (I forget to do server restart for a few times, to apply new changes).

Anyway when virtual server was configured, DNS pointed, I quickly installed Drupal 8 on one of sub domains (I'm looking to do a Drupal 7 upgrade to Drupal 8, for my existing blog - the one you are reading right now)

Unfortunately my Drupal 8 start didn't started, because of incorrect Virtual Server block settings (what works for Drupal 7, seems doesn't works for Drupal 8). Luckly I found a working solution on a Drupal website:

Nginx server blocks for Drupal 8

server {
        listen   80; ## listen for ipv4; this line is default and implied
        #listen   [::]:80 default ipv6only=on; ## listen for ipv6
        # This is the full path to your index file
        root /var/www/www.example.com/public_html;
        index index.php index.html index.htm;

        # Make site accessible from http://localhost/
        # This will be your domain name
        server_name example.com;

  location / {
                index index.php;
                # This is cool because no php is touched for static content
                try_files $uri $uri/ @rewrite;
                expires max;

  location @rewrite {
                # Some modules enforce no slash (/) at the end of the URL
                # Else this rewrite block wouldn't be needed (GlobalRedirect)
                rewrite ^/(.*)$ /index.php?q=$1;

    # pass the PHP scripts to FastCGI server listening on
   location ~ .php$ {
                # With php5-fpm:
                fastcgi_pass unix:/var/run/php5-fpm.sock;
                fastcgi_index index.php;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                include fastcgi_params;

It worked great, My Drupal 8 was up and running - I will write more about Drupal 8 in some of my next posts