Servir arquivos estáticos gerados no Elastic Beanstalk

1

Eu tenho um aplicativo SailsJS que estou tentando implantar no Elastic Beanstalk seguindo os tutorial do NodeJS .

Meu site aparece, mas todas as solicitações de arquivos estáticos (css, js, imagens) estão sendo respondidas com o recurso 404.

Há aparentemente duas maneiras de fazer isso, que são:

1. Sirva os arquivos usando o SailsJS

npm start , que é o meu comando para iniciar o servidor, serve esses arquivos localmente usando o middleware estático do Express e isso funciona lindamente na minha máquina. No servidor, essas solicitações aparecem no log de acesso do nginx, mas não chegam ao meu aplicativo NodeJS. Para onde estão indo?

2. Servir os arquivos usando o servidor proxy nginx

Por padrão, npm start (ou sails lift ) executa o script necessário para mover os arquivos estáticos de assets para .tmp/public , que é onde eles devem ser exibidos. Para servir esses arquivos com o nginx de acordo com o tutorial, eu preciso adicioná-los ao arquivo .ebextensions/staticfiles.config , que agora se parece com:

option_settings:
  aws:elasticbeanstalk:container:nodejs:staticfiles:
    /dependencies: /.tmp/public/dependencies
    /docs: /.tmp/public/docs
    /images: /.tmp/public/images
    /js: /.tmp/public/js
    /min: /.tmp/public/min
    /favicon.ico: /.tmp/public/favicon.ico

Eu tentei:

  • movendo os arquivos estáticos de .tmp/public para static porque achei que a pasta oculta .tmp estava inacessível por nginx
  • verificar na pasta static , que funciona, mas adicioná-la ao .gitignore e excluí-la parece fazer com que isso não funcione.

Realmente parece que o nginx ignora os arquivos que foram criados depois que o comando start do NodeJS foi executado. Como posso servir meus arquivos estáticos gerados automaticamente?

    
por Abe Fehr 25.02.2018 / 02:11

0 respostas