codeigniter - type - what's beanstalk




Come cambiare la configurazione di nginx in un beancoel elastico amazon che esegue un'istanza di finestra mobile (3)

Amazon consiglia in realtà di modificare la versione di gestione temporanea del file di distribuzione di nginx. Ci sono diversi siti in /tmp/deployment/config/ , uno per la modifica del contesto generale 'http', e poi alcuni per la configurazione di diversi aspetti del server.

Volevo collegare la funzionalità di memorizzazione nella cache al server proxy predefinito, quindi ho scritto un file di configurazione .ebextensions per sostituire #etc#nginx#conf.d#00_elastic_beanstalk_proxy.conf , che viene quindi copiato su /etc/nginx/conf.d durante distribuzione. È possibile allineare il file se è abbastanza semplice, ma inserisco il mio in S3 in modo tale che le diverse applicazioni possano estrarlo e utilizzarlo. Ecco il file di configurazione:

commands: 
  01-get-nginx-conf-file:
    command: aws s3 cp s3://<bucket-name>/custom-nginx.conf /home/ec2-user

container_commands:
  01-replace-default-nginx-config:
    command: mv -f /home/ec2-user/custom-nginx.conf /tmp/deployment/config/#etc#nginx#conf.d#00_elastic_beanstalk_proxy.conf

Dopo aver effettuato l'accesso e impostato il cookie, ottengo l'errore 502. Quando leggo il log ottengo l'errore:

014/05/17 01:54:43 [error] 11013#0: *8 upstream sent too big header while reading response
header from upstream, client: 83.248.134.236, server: , request: "GET /administration
HTTP/1.1", upstream:

Dopo un po 'di googling veloce ho trovato: http://developernote.com/2012/09/how-i-fixed-nginx-502-bad-gateway-error/

e voglio provare a impostare fastcgi_buffers e fastcgi_buffer_size su un valore diverso. Ma come faccio a impostare la variabile su nginx in amazon elasticbeanstalk?

Il server nginx si trova prima dell'istanza della finestra mobile.


Dovevo anche modificare la configurazione di nginx.

  1. Crea uno script che modifichi la configurazione di nginx (probabilmente vuoi /etc/nginx/sites-enabled/elasticbeanstalk-nginx-docker.conf ) e riavvia il servizio nginx ( service nginx restart ).
  2. È necessario eseguire lo script dopo che questo file di configurazione di nginx è stato scritto, dopo che sono state eseguite le normali estensioni di ebextensions. Questo non è documentato, ma Evan ha condiviso come farlo here : essenzialmente si usa un ebextension per copiare lo script in una directory con hook che viene eseguito al momento giusto.

Un esempio di configurazione di .ebextensions/01modify_nginx.config è .ebextensions/01modify_nginx.config :

container_commands:
  copy:
    command: "cp .ebextensions/01rewrite_nginx_config.py /opt/elasticbeanstalk/hooks/appdeploy/enact/"
  make_exe:
    command: "chmod +x /opt/elasticbeanstalk/hooks/appdeploy/enact/01rewrite_nginx_config.py"

Funziona bene ora per il mio progetto ( here è la fonte dove puoi vederlo in azione).


Un approccio più pulito (se stai usando la piattaforma Java o Go su ELB) è quello di avere file .conf nginx con le modifiche desiderate in una sottocartella in .ebextensions:

Ora puoi inserire un file nginx.conf nella cartella .ebextensions / nginx per sovrascrivere la configurazione di Nginx. È inoltre possibile posizionare i file di configurazione nella cartella .ebextensions / nginx / conf.d per poterli includere nella configurazione Nginx fornita dalla piattaforma.

Source





docker