Hospedando vários aplicativos no Nginx Ubuntu 14.04

1

Estou tendo dificuldade em encontrar uma solução. Eu tenho uma máquina Ubuntu 14.04 rodando o NGINX. Eu tenho abaixo de 2 pastas que gostaria de hospedar.

/var/www/apphost.comp.ill.com/app1/home/index.html /var/www/apphost.comp.ill.com/app2/index.html

Eu gostaria de abrir o arquivo de índice do app1 quando eu for para "apphost.comp.ill.com/app1" e abrir o arquivo de índice do app2 quando eu for "apphost.comp.ill.com/app2".

Acredito que preciso editar "/etc/nginx/sites-available/apphost.comp.ill.com" para que isso aconteça, mas não consigo descobrir como. Eu tentei várias coisas, procurei online, mas não consegui encontrar nenhuma solução. Aqui está como meu arquivo parece atualmente:

server {
    listen 80;
    listen [::]:80;

    root /var/www/apphost.comp.ill.com/app1/home;     
    index index.html index.htm home home.html;

    # Make site accessible from http://localhost/
    server_name apphost.comp.ill.com;

    location / {
            # First attempt to serve request as file, then
            # as directory, then fall back to displaying a 404.
            try_files $uri $uri/ =404;
            # Uncomment to enable naxsi on this location
            # include /etc/nginx/naxsi.rules
    }

Funciona para app1 quando eu vou para apphost.comp.ill.com. Como posso fazer isso para que funcione quando eu vou para "apphost.comp.ill.com/app1" e também adicionar app2 ao trabalho quando vou para "apphost.comp.ill.com/app2".

Por favor ajude. Obrigado

    
por Neo 06.12.2017 / 22:15

2 respostas

0

Eu tentei isso e funciona:

server {
    listen 80;
    listen [::]:80;

    index index.html index.htm home home.html;

    # Make site accessible from http://localhost/
    server_name apphost.comp.ill.com;

    location /app1 {
            # we need to use alias here to strip the "app1" from 
            # the requested path
            alias /var/www/apphost.comp.ill.com/app1/home;

            # First attempt to serve request as file, then
            # as directory, then fall back to displaying a 404.
            try_files $uri $uri/ =404;
            # Uncomment to enable naxsi on this location
            # include /etc/nginx/naxsi.rules
    }    
    location /app2 {
            # we don't need an alias here because app2 matches the
            # directory structure
            root /var/www/apphost.comp.ill.com/;

            # First attempt to serve request as file, then
            # as directory, then fall back to displaying a 404.
            try_files $uri $uri/ =404;
            # Uncomment to enable naxsi on this location
            # include /etc/nginx/naxsi.rules
    }
}

Eu recomendaria / app1 e / app2 sem uma barra inicial porque no meu teste a navegação para ... / app1 não funcionava de outra forma.

Documentação do comando alias: link

    
por 09.12.2017 / 19:19
0

Edit: Esta resposta está errada , porque a parte depois de "location" será anexada à raiz do documento. (por exemplo, o nginx tenta abrir o arquivo /var/www/apphost.comp.ill.com/app1/home/app1/index.html) Eu não deveria ter postado sem tentar primeiro, desculpe.

Você já tentou:

server {
    listen 80;
    listen [::]:80;

    index index.html index.htm home home.html;

    # Make site accessible from http://localhost/
    server_name apphost.comp.ill.com;

    location /app1/ {
            root /var/www/apphost.comp.ill.com/app1/home;
            # First attempt to serve request as file, then
            # as directory, then fall back to displaying a 404.
            try_files $uri $uri/ =404;
            # Uncomment to enable naxsi on this location
            # include /etc/nginx/naxsi.rules
    }    
    location /app2/ {
            root /var/www/apphost.comp.ill.com/app2;
            # First attempt to serve request as file, then
            # as directory, then fall back to displaying a 404.
            try_files $uri $uri/ =404;
            # Uncomment to enable naxsi on this location
            # include /etc/nginx/naxsi.rules
    }
}
    
por 07.12.2017 / 00:36