1. ¿Buscando un Banco para abrir tu primera cuenta de ahorros? Revisa nuestro comparativo de cuentas cero mantenimiento haciendo clic aquí.
    Ocultar anuncio

Ayuda configurando nginx

Publicado en 'Webmasters' por leonmorlando, 9 Ago 2015.





  1. leonmorlando

    leonmorlando Miembro de bronce

    Registro:
    21 Ene 2014
    Mensajes:
    1,575
    Likes:
    428




    No sabía si publicar el tema aquí o en Linux, pero ahí les va.
    Básicamente lo que quiero hacer es que cada vez que alguien entre a mi página ingresando solo el IP o el dominio principal (ejemplo: 120.156.255.222:8080 / www.web.com:8080) se muestre una página web con un mensaje, y cuando se ingrese a alguna de las carpetas (ejemplo: www.web.com:8080/archivos) se muestren los archivos de esa carpeta. Sé que esto último se puede lograr usando "autoindex ON" en la configuración, pero no sé exactamente cómo configurarlo. Ojala me puedan desasnar.
    Gracias por la ayuda.
     


  2. gnox

    gnox Miembro maestro

    Registro:
    3 Ene 2013
    Mensajes:
    792
    Likes:
    252
    - Creas tus rutas y archivo de inicio
    Código:
    $mkdir -p /data/www/archivos
    $touch /data/www/index.html
    
    - Editas /data/www/index.html y pones el mensaje que quieras

    EDIT: si es ubuntu
    Código:
    $cp /etc/nginx/sites-available/default /etc/nginx/sites-available/defaut-8080
    $ln -s /etc/nginx/sites-available/default-8080 /etc/nginx/sites-enabled/default-8080
    
    --fin EDIT

    - Modifica la configuración de nginx.conf (/etc/nginx/sites-enabled/default-8080) en la sección "server"
    PHP:
    server {
         
    listen 8080;
         
    location / {
            
    root /data/www;
            
    index index.html;
         }
         
    location /archivos {
            
    root /data/www/archivos
            autoindex on
    ;
         }
    }
    - reinicia nginx
    Checa los permisos y owner a usuario de ngnix o del grupo www-data.

    lapsus, esta sección debe ser :
    PHP:
    location /archivos {
       
    root /data/www/
       
    autoindex on;
    }
     
    Última edición: 9 Ago 2015
  3. leonmorlando

    leonmorlando Miembro de bronce

    Registro:
    21 Ene 2014
    Mensajes:
    1,575
    Likes:
    428
    El archivo "/etc/nginx/sites-enabled/default-8080" siempre aparece vacio. Si pego directamente tu configuración al archivo vacio, nginx me da error al intentar recargar.
     
  4. gnox

    gnox Miembro maestro

    Registro:
    3 Ene 2013
    Mensajes:
    792
    Likes:
    252
    El default-8080 es un symlink en sites-enabled que apunta a sites-available/default-8080
    Código:
    $cp /etc/nginx/sites-available/default /etc/nginx/sites-available/defaut-8080
    $ln -s /etc/nginx/sites-available/default-8080 /etc/nginx/sites-enabled/default-8080
    
    Que te devuelve? :
    Código:
    $nginx -t
    
    Solo veo que falto un ";" al final de la linea "root ... " en la sección "archivos".
     
  5. leonmorlando

    leonmorlando Miembro de bronce

    Registro:
    21 Ene 2014
    Mensajes:
    1,575
    Likes:
    428
    root@orlando-pc:~# nginx -s reload
    nginx: [error] invalid PID number "" in "/run/nginx.pid"

    root@orlando-pc:~# nginx -t
    nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
    nginx: configuration file /etc/nginx/nginx.conf test is successful
     
  6. gnox

    gnox Miembro maestro

    Registro:
    3 Ene 2013
    Mensajes:
    792
    Likes:
    252
    Estas tratando de levantarlo 2 veces , tienes que usar el servicio :
    Código:
    $/etc/init.d/nginx restart
    
     
  7. leonmorlando

    leonmorlando Miembro de bronce

    Registro:
    21 Ene 2014
    Mensajes:
    1,575
    Likes:
    428
    Eso funcionó, pero aún muestra lo mismo que cuando recién instalé nginx.
    En el siguiente paso:
    nginx.conf no existe en este directorio, ¿debería copiarlo desde /etc/nginx/? Porque todas las modificaciones las estoy haciendo en /etc/nginx/sites-enabled/default-8080.
     
  8. gnox

    gnox Miembro maestro

    Registro:
    3 Ene 2013
    Mensajes:
    792
    Likes:
    252
    No, eso es en el caso que solo tengas nginx.conf como en algunas distros, si usas Ubuntu como comente, la configuración de ejemplo esta en /etc/nginx/sites-available/default (disponible) que usa el puerto 80 , por eso puse los comandos para que copies esa configuración a /sites-available/default-8080, le hagas el symlink en sites-enabled/default-8080 (activos) editas (que al final es el mismo archivo) y metes el código que puse anteriormente.