2010-11-23 14 views
8

Quiero ejecutar nginx en mi Ubuntu 10.04 Linode de 32 bits VPS.¿Cómo hacer que los hosts virtuales de Nginx funcionen? (Actualmente da error 403 Forbidden)

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 

Para hacer un host virtual nginx:

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

y escribió después

server { 
    listen 80; 
    server_name www.example.com; 
    rewrite ^/(.*) http://example.com/$1 permanent; 
} 

server { 
    listen 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; 
    } 
} 

Entonces permitió que el host virtual example.com

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

pongo un índice. html a /var/www/example.com/public e ingrese www.example.com URL desde mi navegador. Luego me siguiente

403 Forbidden 
nginx/0.8.53 

tail /var/log/nginx/error.log da siguiente error

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

que rehacer

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

pero da el mismo error.

y el gato /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 pongo el index.html en/var/www/entonces puedo ver archivo html pero cualquier intento de ponerlo en/var/www/example.com/public failed. Miré permisos de archivos y carpetas que están bien, todo pertenece a www-data y legible (775)

¿Qué puedo hacer para que nginx funcione? Gracias

Respuesta

5

Supongo que

rewrite ^/(.*) http://example.com/ $1 permanent;
no funciona correctamente. anfitrión se mantuvo www.example.com Sin redirección se pasó, ya que tienes siguiente línea de error en su registro:

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

tratar de jugar con la línea de reescritura.

Otra versión: ¿Estás seguro de que esas líneas funcionan correctamente?

 include /etc/nginx/conf.d/*.conf; 
    include /etc/nginx/sites-enabled/*;
+0

Sory for typo. Ingresé a www.example.com como URL. example.com tampoco funciona –

+0

Cuando visito la URL de example.com. Tengo un error de seguimiento. * 2 índice de directorio de "/ var/www /" está prohibido, cliente: 88.224.1.128, servidor: localhost, solicitud: "GET/HTTP/1.1", –

+0

Pruebe incluir /etc/nginx/sites-enabled/example.com ; incluye /etc/nginx/sites-enabled/www.example.com; en lugar de incluir/etc/nginx/sites-enabled/*; – CyberDem0n

7

que tenían los mismos síntomas en Ubuntu 10.04, Nginx & Wordpress y la respuesta fue una desesperación muda.

En caso de que alguien más está en la misma situación ....

En mi config nginx para el sitio

location/{ 
     index index.html index.htm; 
    } 

no tenían index.php

agregarlo en la lista se solucionó el problema

10

El 403 se debe a que no tiene el autoindex.

autoindex off; 

Necesita la puso, y se puede ver los directorios

autoindex on; 

Si está apagado se puede ver los archivos pero no una lista de los directorios.

Cuestiones relacionadas