Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

NGNIX + Deploy

Olá Pessoal, estou com um problema com minha aplicação VUE na hora do Deploy. Realizei o build, coloquei ele dentro da pasta do server que roda em node o bundle e upei para uma instância na AWS na qual possuo NGNIX.

Ao acessar a raiz do projeto pelo index, abre perfeitamente www.skapp.com.br. Porém, ao tentar acessar alguma rota GET da minha aplicação ou ao clicar no botão de cadastrar, ele retorna apenas para a index ou não funciona a ação do $router.push:

 this.$router.push({ name : 'guincheiros' })

É como se o vue-router não funcionasse. por exemplo www.skapp.com.br/guincheiros retorna novamente para a index. Segue abaixo a configuração do ngnix para esta aplicação:

server {
        listen 80;
        listen [::]:80;
        server_name  3.89.11.207 skapp.com.br www.skapp.com.br;

        root /home/ubuntu/Vue;
        index index.html;

   location / {
                try_files $uri $uri/ @rewrites;
        }

        location @rewrites {
                rewrite ^(.+)$ /index.html last;
        }

        location ~* \.(?:ico|css|js|gif|jpe?g|png)$ {
                # Some basic cache-control for static files to be sent to the browser
                expires max;
                add_header Pragma public;
                add_header Cache-Control "public, must-revalidate, proxy-revalidate";
        }
        # return 301   https://skapp.com.br$request_uri;
}

e a configuração do vue router:

const router = new VueRouter({
    routes: routes,
    mode: 'history'
});

O que poderia ser ?

1 resposta
solução!

Fala aí Diego, tudo bem? Talvez pode ser um problema na configuração do NGINX, esses dias precisei deployar um app feito com Angular, segue o default.conf:

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

    location / {
        root   /usr/share/nginx/html/angular-nginx/;
        index  index.html index.htm;
        try_files $uri $uri/ /index.html;
    }

    error_page 404 /404.html;

    location = /40x.html {}

    error_page   500 502 503 504  /50x.html;

    location = /50x.html {
        root   /usr/share/nginx/html;
    }
}

E, o nginx.conf:

user  nginx;
worker_processes  1;
error_log  /var/log/nginx/error.log warn;
pid        /var/run/nginx.pid;

events {
    worker_connections  1024;
}

http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';
    access_log  /var/log/nginx/access.log  main;
    sendfile        on;
    keepalive_timeout  65;

    include /etc/nginx/conf.d/*.conf;
}

Tenta fazer algum ajuste nos seus arquivos de configuração, pode ser que dê certo.

Espero ter ajudado.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software