Comment faire en sorte que Nginx virtualhosts fonctionne? (actuellement donne 403 Erreur interdite)

Je veux exécuter nginx sur mon Ubuntu 10.04 32bit Linode VPS.

sudo chown -R www-data:www-data /var/www sudo chmod -R 775 /var/www sudo add-apt-repository ppa:nginx/development sudo apt-get update sudo apt-get install nginx 

Pour créer un nginx virtualhost:

 mkdir -p /var/www/example.com/{public,logs} sudo nano /etc/nginx/sites-available/example.com 

et a écrit ce qui suit

 server { listn 80; server_name www.example.com; rewrite ^/(.*) http://example.com/$1 permanent; } server { listn 80; server_name example.com; access_log /var/www/example.com/logs/access.log; error_log /var/www/example.com/logs/error.log; location / { root /var/www/example.com/public/; index index.html; } } 

Ensuite, j'ai activé l'exemple virtuel example.com

 sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/example.com sudo /etc/init.d/nginx restart 

J'ai mis un index.html dans /var/www/example.com/public et entrez l'URL example.com de mon browser. Ensuite, j'ai suivi

 403 Forbidden nginx/0.8.53 

tail /var/log/nginx/error.log donne l'erreur suivante

 *38 directory index of "/var/www/" is forbidden, client: 88.224.1.128, server: localhost, request: "GET / HTTP/1.1", host: www.example.com 

Je refais

 sudo chown -R www-data:www-data /var/www sudo chmod -R 775 /var/www 

mais cela donne la même erreur.

et cat /etc/nginx/nginx.cnf

 user www-data; worker_processes 1; error_log /var/log/nginx/error.log; pid /var/run/nginx.pid; events { worker_connections 1024; # multi_accept on; } http { include /etc/nginx/mime.types; access_log /var/log/nginx/access.log; sendfile on; #tcp_nopush on; #keepalive_timeout 0; keepalive_timeout 65; tcp_nodelay on; gzip on; # As per: http://wiki.nginx.org/NginxHttpGzipModule#gzip_disable starting # with 0.7.63 gzip_disable "msie6"; include /etc/nginx/conf.d/*.conf; include /etc/nginx/sites-enabled/*; } 

Si je place l'index.html dans / var / www / puis je peux voir le file html, mais toute tentative de le mettre sous /var/www/example.com/public échoue. J'ai regardé les permissions de dossier et de dossier, ils sont bien tout appartient à www-data and readable (775)

Que puis-je faire pour que nginx fonctionne? Merci

Il existe probablement un autre file dans le directory activé par les sites, avec un caractère générique Servername? Et je suppose que cette configuration possède un directory racine de "/ var / www"?

Avez-vous rechargé les files de configuration? Nginx n'arrive pas à parsingr le file de configuration sur toutes les charges, comme Apache le fait avec htaccess, vous devez lui envoyer activement la command de rechargement (HUP).

Sur Ubuntu, la command de rechargement sera

 /etc/init.d/nginx reload 

Si installé via apt, sinon essayez

 /path/to/nginx reload