nginx configuration issues
Joel Dahl
joel.dahl at vnode.se
Wed Jun 17 19:44:19 MSD 2009
Hi,
I've been looking at replacing apache with nginx for a while and today I had
some time over to play with the nginx configuration. I have around ~40
websites and my goal is to set up nginx to handle more websites without me
needing to reconfigure anything (I would like to avoid creating a new virtual
host every time a new website needs to be created). This is just a test of
course, and not anywhere near production.
My nginx.conf looks like this (don't hesitate to suggest improvements, this is
my first nginx.conf file after all):
user www www;
worker_processes 1;
pid /var/run/nginx.pid;
error_log /var/log/nginx_error.log;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] $request '
'"$status" $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
sendfile on;
tcp_nopush on;
tcp_nodelay off;
keepalive_timeout 65;
server_names_hash_bucket_size 128;
gzip on;
server {
listen 80;
server_name _;
location / {
root /home/w/$host;
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_param SCRIPT_FILENAME /home/w/$host$fastcgi_script_name;
fastcgi_param QUERY_STRING $query_string;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;
fastcgi_intercept_errors on;
}
location ~ /\.ht {
deny all;
}
}
}
...and at first it seemed to work. If the directory /home/w/www.foo.com
exists, requests to www.foo.com works and I can see the website. However, if
I try to access www.foo.com/bar I get a "can't find the domain www.foo.com"
type of error message in my browser. Browsing to www.foo.com/bar/ works
however, and www.foo.com/bar/index.php also works.
What am I doing wrong? :)
--
Joel
More information about the nginx
mailing list