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 initcomando e impostato i parametri richiesti. Successivamente, è .elasticbeanstalkstata creata una directory denominata nel mio albero dei sorgenti. Ha due file di configurazione utilizzati per la distribuzione, vale a dire confige optionsettings. Quest'ultima tra le altre opzioni contiene la configurazione WSGI che deve essere aggiornata /etc/httpd/conf.d/wsgi.confnelle 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 NumThreadso NumProcesses, i rispettivi parametri vengono modificati wsgi.confcome previsto. Ma qualunque cosa io scriva nei parametri WSGIPathe 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.pushe avendo i seguenti contenuti di .ebextensions/python.configfile, 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.