我一直在研究了一段時間,所有的文檔似乎說這是可能的,但每當我上面增加1
我們elastic beanstalk
mod_wsgi
NumProcesses
配置,我們的管理站點無法訪問。彈性魔豆運行多程序mod_wsgi的Django應用程序造成302環
我創建了一個縮減,我用默認的django
應用程序進行了測試,並且行爲仍然存在。我也嘗試在本地複製,但是我的apache
和mod_wsgi
配置無法複製該問題。
基本上,我所看到的是,每一次嘗試登錄,導致302 Found redirect
回到登錄頁面。我已經清除了數據庫中的會話,並且我可以確認應用程序在登錄POST
期間創建了一個新條目,但用戶仍然被引導回登錄頁面(請參閱下面的配置和日誌)。我們還在Elastic Beanstalk
實例上配置了負載平衡器和粘性會話。
這裏是我們的.ebextensions
option_settings:
"aws:elasticbeanstalk:container:python":
WSGIPath: site/settings/wsgi/__init__.py
NumProcesses: 4
NumThreads: 15
這裏python
包含的配置是從實例
WSGIPythonHome /opt/python/run/baselinenv
WSGISocketPrefix run/wsgi
WSGIRestrictEmbedded On
<VirtualHost *:80>
Alias /static/ /opt/python/current/app/site/static/
<Directory /opt/python/current/app/site/static/>
Order allow,deny
Allow from all
</Directory>
WSGIScriptAlias//opt/python/current/app/site/settings/wsgi/__init__.py
<Directory /opt/python/current/app/>
Require all granted
</Directory>
WSGIDaemonProcess wsgi processes=4 threads=15 display-name=%{GROUP} \
python-path=/opt/python/current/app:/opt/python/run/venv/lib64/python3.4/site-packages:/opt/python/run/venv/lib/python3.4/site-packages user=wsgi group=wsgi \
home=/opt/python/current/app
WSGIProcessGroup wsgi
</VirtualHost>
這裏所採取的相應wsgi.conf
是access_log
的抓出重定向
::1 - - [05/Jun/2017:13:26:18 +0000] "POST /admin/login/?next=/admin/ HTTP/1.1" 302 -
::1 - - [05/Jun/2017:13:26:18 +0000] "GET /admin/ HTTP/1.1" 302 -
::1 - - [05/Jun/2017:13:26:18 +0000] "GET /admin/login/?next=/admin/ HTTP/1.1" 200 1650
現在,下列一組配置和信息從我的本地安裝中獲取。
# wsgi.conf
WSGIVerboseDebugging 'On'
WSGIPythonHome /usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7
WSGISocketPrefix /tmp/wsgi
WSGIRestrictEmbedded On
<VirtualHost *:80>
Alias /static/ /Users/www/app/site/static/
<Directory /Users/www/app/site/static/>
Order allow,deny
Allow from all
</Directory>
WSGIProcessGroup _www
WSGIScriptAlias//Users/www/app/site/settings/wsgi/__init__.py \
process-group=_www
<Directory /Users/www/app/>
Require all granted
</Directory>
WSGIDaemonProcess _www processes=4 threads=15 display-name=%{GROUP} group=_www user=_www \
python-path=/Users/www/app:/usr/local/lib/python2.7 \
home=/Users/www/app/site
</VirtualHost>
預計access_log
::1 - - [05/Jun/2017:23:27:48 +1000] "POST /admin/login/?next=/admin/ HTTP/1.1" 302 -
::1 - - [05/Jun/2017:23:27:48 +1000] "GET /admin/ HTTP/1.1" 200 2783
我的問題,是爲什麼一個工作,一個生產循環?我可以在WSGIScriptAlias
上看到一個選項,但這在elastic beanstalk
配置中不可用,並且文檔仍然說這是可行的。我在這裏錯過了什麼?爲什麼有多個進程導致這個問題?
附加說明
失敗mod_wsgi
版本3.5
工作mod_wsgi
版本4.5.15
我也能得到我的地方wsgi
應用與python 3.6