The NGINX HTTP Server
[ 146 ]An example Drupal configuration
Drupal (http://drupal.org) is a popular open source content management platform.
There is a large installed user base, and many popular websites are run on Drupal.
As with most PHP web frameworks, Drupal is typically run under Apache using
mod_php. We are going to explore how to configure NGINX to run Drupal.
There is a very comprehensive Drupal configuration guide for NGINX found at
https://github.com/perusio/drupal-with-nginx. It goes more in-depth than
we are able to do here, but we will point out some features mentioned, and go
through some of the differences between Drupal 6 and Drupal 7:
## Defines the $no_slash_uri variable for drupal 6.
map $uri $no_slash_uri {~^/(?<no_slash>.*)$ $no_slash;
}server {server_name http://www.example.com;root /home/customer/html;index index.php;# keep alive to the FastCGI upstream (used in conjunction with
# the "keepalive" directive in the upstream section)
fastcgi_keep_conn on;# The 'default' location.
location / {
## (Drupal 6) Use index.html whenever there's no index.php.
location = / {
error_page 404 =200 /index.html;
}
# Regular private file serving (i.e. handled by Drupal).
location ^~ /system/files/ {include fastcgi_private_files.conf;fastcgi_pass 127.0.0.1:9000;