collegamento incrociato con i forum AWS
Ho sviluppato un semplice servizio Web Python utilizzando WSGI e vorrei implementarlo nel cloud AWS utilizzando Elastic Beanstalk. Il mio problema è che non riesco a configurare correttamente nel cloud tutte le opzioni specificate nella configurazione di Elastic Beanstalk.
Per la distribuzione, utilizzo l'utilità CLI Elastic Beanstalk. Ho eseguito il eb init
comando e impostato i parametri richiesti. Successivamente, è .elasticbeanstalk
stata creata una directory denominata nel mio albero dei sorgenti. Ha due file di configurazione utilizzati per la distribuzione, vale a dire config
e optionsettings
. Quest'ultima tra le altre opzioni contiene la configurazione WSGI che deve essere aggiornata /etc/httpd/conf.d/wsgi.conf
nelle istanze. Dopo alcune delle mie regolazioni, il file ha le seguenti impostazioni:
[AWS: elasticbeanstalk: applicazione: ambiente] DJANGO_SETTINGS_MODULE = PARAM1 = PARAM2 = PARAM4 = PARAM3 = PARAM5 = [AWS: elasticbeanstalk: contenitore: python] WSGIPath = handler.py NumProcesses = 2 StaticFiles = / static = NumThreads = 10 [AWS: elasticbeanstalk: contenitore: python: staticfiles] / statico = statico / [AWS: elasticbeanstalk: hostmanager] LogPublicationControl = false [AWS: autoscaling: launchconfiguration] InstanceType = t1.micro EC2KeyName = zmicier-aws [AWS: elasticbeanstalk: applicazione] URL controllo integrità applicazione = [AWS: autoscaling: asg] MaxSize = 10 MinSize = 1 Zone di disponibilità personalizzate = [AWS: elasticbeanstalk: monitoraggio] Termina automaticamente istanze non salutari = true [AWS: elasticbeanstalk: SNS: argomenti] Endpoint di notifica = Protocollo di notifica = email
Si scopre che non tutte queste opzioni sono prese in considerazione quando avvio l'ambiente o lo aggiorno. Pertanto, quando aggiorno NumThreads
o NumProcesses
, i rispettivi parametri vengono modificati wsgi.conf
come previsto. Ma qualunque cosa io scriva nei parametri WSGIPath
e StaticFiles
, non sono in grado di cambiare automaticamente i rispettivi valori di wsgi.conf
, rimangono
Alias /static /opt/python/current/app/
WSGIScriptAlias / /opt/python/current/app/application.py
che mi fa impazzire. Inoltre, quando distribuisco la mia applicazione utilizzando git aws.push
e avendo i seguenti contenuti di .ebextensions/python.config
file, nessuna delle opzioni specificate in essa influisce sulla distribuzione.
option_settings: - namespace: aws: elasticbeanstalk: container: python option_name: WSGIPath valore: mysite / wsgi.py - namespace: aws: elasticbeanstalk: container: python option_name: NumProcesses valore: 5 - namespace: aws: elasticbeanstalk: container: python option_name: NumThreads valore: 25 - spazio dei nomi: aws: elasticbeanstalk: container: python: staticfiles nome_opzione: / statico / valore: app / statico /
Mi chiedo cosa dovrei fare per forzare AWS a utilizzare tutti i parametri specificati nella configurazione, vale a dire il percorso WSGI e il percorso dei miei dati statici.