Erro na instalação do nginx para múltiplos aplicativos ReactJS no mesmo servidor?

1

Estou criando uma solução com vários módulos. Cada módulo é um aplicativo ReactJs e eu estou tentando configurar o nginx para publicá-lo no mesmo domínio. Por exemplo:

link auth link admin
link painel
link vendas

Meu diretório público para o nginx fica assim:

| --- / var / www
| ---- / auth
| ---- / admin
| ---- / dashboard
| ---- / vendas

onde auth, admin, dashboard e vendas são subpastas para cada projeto.

Meu servidor nginx conf:

server {
 listen 9000 default_server;
 listen [::]:9000 default_server;
 server_name localhost;

 index index.html;

 location / {
    root /var/www/auth;
 }

 location /admin { 
   root /var/www;
 }

 location /dashboard {
   root /var/www;
 }

 location /sales {
   root /var/www;
 }
}

A subpasta de cada projeto tem a estrutura semelhante a esta


Oproblemaéquandoo link de acesso, por exemplo, a aplicação tenta carregar os arquivos estáticos na raiz em vez do projeto da subpasta

GET http://localhost:9000/static/js/main.6314dcaa.js net::ERR_ABORTED

o correto seria obter arquivos na pasta admin desta forma:

GET http://localhost:9000/admin/static/js/main.6314dcaa.js

Qual é a melhor abordagem para corrigir a configuração do nginx para isso?

    
por DBs 26.08.2018 / 16:10

1 resposta

0

Acho que o que você está tentando realizar pode ser feito expandindo a seção raiz de cada local assim:

 location /admin { 
   root /var/www/admin;
 }

 location /dashboard {
   root /var/www/dashboard;
 }

 location /sales {
   root /var/www/sales;
 }

Mas isso seria o mesmo que ter apenas

location / {
  root /var/www/
}

Como uma chamada para http://application-domain/admin seria avaliada como /var/www/admin .

A primeira solução ocultaria qualquer outra coisa em /var/www/ , pois não há regra de local para acessar, digamos, http://application-domain/private .

    
por 26.08.2018 / 22:55