Virtual hosts
Joel Dahl
joel.dahl at vnode.se
Fri Jun 26 13:38:35 MSD 2009
Hi,
I use the following line in nginx.conf to serve websites for a bunch of
virtual hosts:
include /usr/local/etc/nginx/vhosts/*.conf;
...and a typical configuration file for each virtual host looks like this:
server {
listen 80;
server_name foobar.com;
rewrite ^/(.*) http://www.foobar.com permanent;
}
server {
listen 80;
server_name www.foobar.com;
location / {
root /home/w/www001;
index index.php index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/local/etc/nginx/errorpages;
}
error_page 404 /404.html;
location = /404.html {
root /usr/local/etc/nginx/errorpages;
}
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_intercept_errors on;
fastcgi_param SCRIPT_FILENAME /home/w/www001$fastcgi_script_name;
include fastcgi_params;
}
location ~ /\.ht {
deny all;
}
}
I find it overly complex and redundant to include all of this in every *.conf
file however.
For example, would it be possible to put the error_page stuff in the main
nginx.conf instead? Like a global option for everything.
Also, is it possible to use variables in the configuration file? Right now I'm
hard-coding the domain/host name into several places in each *.conf file, and
also the path to the actual files. This makes it a PITA to maintain.
I've only been using nginx for a very short time, so I'm open for any
suggestions. :-)
--
Joel
More information about the nginx
mailing list