====== Using Nginx with VuFind® ======
You can serve VuFind® using [[http://nginx.org/|Nginx]] as an alternative to [[http://httpd.apache.org/|Apache]]. There is not currently an officially distributed Nginx configuration, but the examples below may help you get things working.
===== Example 1 =====
// This example configuration was shared by Sascha-Oliver Prolic. //
server {
listen 80;
root /path/to/vufind2/public;
index index.html index.htm index.php;
server_name your-server-name;
location / {
try_files $uri $uri/ /index.php$is_args$args;
}
location ~ ^/themes/([0-9a-zA-Z-_]*)/css/(.*)$ {
default_type text/css;
alias /path/to/vufind2/themes/$1/css/$2;
}
location ~ ^/themes/([0-9a-zA-Z-_]*)/images/(.*)$ {
alias /path/to/vufind2/themes/$1/images/$2;
}
location ~ ^/themes/([0-9a-zA-Z-_]*)/js/(.*)$ {
alias /path/to/vufind2/themes/$1/js/$2;
}
location ~ \.php$ {
fastcgi_param VUFIND_ENV development;
fastcgi_param APPLICATION_ENV development;
fastcgi_param VUFIND_HOME /path/to/vufind2;
fastcgi_param VUFIND_LOCAL_DIR /path/to/vufind2/local;
fastcgi_param VUFIND_LOCAL_MODULES your-module-name;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi_params;
}
}
===== Example 2 =====
// This example configuration was shared by Horacio Degiorgi. //
If you want to serve VuFind® in a different location (in this case, "/explorador") you can use alias and rewrite instead of try_files.
location ~ /explorador/themes/([0-9a-zA-Z-_]*)/css/(.*)$ {
default_type text/css;
alias /usr/local/vufind/themes/$1/css/$2;
}
location ~ /explorador/themes/([0-9a-zA-Z-_]*)/images/(.*)$ {
alias /usr/local/vufind/themes/$1/images/$2;
}
location ~ /explorador/themes/([0-9a-zA-Z-_]*)/js/(.*)$ {
alias /usr/local/vufind/themes/$1/js/$2;
}
location /explorador/ {
alias /usr/local/vufind/public/;
index index.php;
## Check for file existing and if there, stop ##
if (-f $request_filename) {
break;
}
## Check for file existing and if there, stop ##
if (-d $request_filename) {
break;
}
## If we get here then there is no file or directory matching request_filename ##
rewrite (.*) /explorador/index.php?$query_string;
location ~ \.php$ {
fastcgi_intercept_errors on;
fastcgi_param SCRIPT_FILENAME $request_filename;
# fastcgi_param VUFIND_ENV development;
# fastcgi_param APPLICATION_ENV development;
fastcgi_param VUFIND_HOME /usr/local/vufind;
fastcgi_param VUFIND_LOCAL_DIR /usr/local/vufind/local;
# fastcgi_param VUFIND_LOCAL_MODULES your-module-name;
# fastcgi_pass unix:/run/php/php7.0-fpm.sock;
fastcgi_pass 127.0.0.1:9090;
fastcgi_index index.php;
include fastcgi_params;
}
}