Nginx Gunicorn Flask App está retornando minha versão (em cache) aleatória do meu site

0

Espero que seja um bom lugar para perguntar, pois há várias camadas de software e não posso dizer qual delas é um problema aqui.

Meu proxy do browserync está me devolvendo uma versão em cache do meu site , aqui está meu fluxo de trabalho:

No topo do windows 10, estou executando a instância VMWare do Fedora 25 e este é o meu sistema operacional "base" desde então.

Como a segunda instância do VMWare, estou executando o Ubuntu 16.04.2 Server e esse servidor é montado com SSHFS dentro do meu Linux Fedora. Eu faço o SSH nele com o usuário com privilégios de root (mas não com o próprio root).

Estou rodando a aplicação do flask dentro do virtualenv, dentro do / var / www, eu fiz o usuário chown: www-data -R para esta pasta.

Meu Nginx está servindo esta aplicação na porta 80 no servidor ubuntu, e está resolvendo isso por um hostname (website.com), então na minha estação de trabalho fedora eu tenho o host "192.168.xx.xx website.com" isso significa que eu pode acessar meu aplicativo quando eu digito website.com, tudo de bom desde agora.

O problema começa quando deixo cair o plug-in gulp e browsersync-gulp.

Estou usando meu proxy com essas configurações:

proxy: {
    target: 'http://127.0.0.1',
    proxyReq: [
        function(proxyReq) {
            proxyReq.setHeader('Host', 'website.com')
        }
    ]
}

E isso funciona bem, ele abre outro servidor sob 192.168.xx.xx e atualiza-se quando envio algumas alterações nos arquivos (como eu especifiquei a tarefa de observação para recarregar o browsersync sob quaisquer alterações).

O problema que estou enfrentando é sempre que eu atualizo um site por meio do proxy do browsersync ou pelo www.website.com, estou recebendo uma versão diferente do meu site (posso ver algumas alterações anteriores Eu fiz recentemente) - Parece que mantém 3 diferentes versões do meu site em cache e está me servindo um deles completamente aleatoriamente.

Eu acho que esse número de 3 versões reflete 3 trabalhadores eu configurei para gunicorn dentro do systemd, parece com isso:

"ExecStart=/home/user/.local/bin/gunicorn --workers 3 --bind unix:website.com.sock -m 777 wsgi:app"

(estou ciente de que as permissões devem ser 007)

E é assim que minha configuração do site Nginx se parece:

location / {
    include proxy_params;
    proxy_pass http://unix:/var/www/website.com/website.com.sock;
}

Então as cadeias são assim:

Fedora 25 - > SSH - > Ubuntu 16.04.2 - > Gole - > Gulp-browsersync - > Nginx - > VirtualEnv - > Gúnson - > Aplicativo de balão

Algo parecido com isso

TLDR; por algum motivo, toda vez que eu atualizar a versão aleatória do meu site

Por favor, deixe-me saber como eu posso corrigir esse problema, quaisquer outras dicas para o meu fluxo de trabalho também são bem-vindas, obrigado.

    
por Melcma 03.07.2017 / 10:35

1 resposta

0

No final, isso não é problema de "cache" real. A instância do gunicorn deve ser reiniciada toda vez que houver algumas alterações nos arquivos do frontend. Fechando isso por enquanto.

Se você estiver usando o systemd para servir seu aplicativo, isso precisa ser reiniciado toda vez que uma alteração for feita; caso contrário, eu serviria a versão antiga do site.

    
por 04.07.2017 / 15:33