के साथ डीजेगो को तैनात करें मेरे पास एक Django प्रोजेक्ट है और मैं इसे बंदूक (और अपाचे प्रॉक्सींग) का उपयोग करके डिलीवरी करना चाहता हूं। मैं Nginx का उपयोग नहीं कर सकता, इसलिए यह संभव नहीं है।गनिकोर्न और एपैच
मैं अपाचे प्रॉक्सी और सेटअप gunicorn लिए एक धावक स्क्रिप्ट निर्धारित किया है, लेकिन मैं इस अजीब त्रुटि
2012-08-27 14:03:12 [34355] [DEBUG] GET/
2012-08-27 14:03:12 [34355] [ERROR] Error handling request
Traceback (most recent call last):
File "/home/tileone/venv/lib/python2.6/site-packages/gunicorn/workers/sync.py", line 93, in handle_request
self.address, self.cfg)
File "/home/tileone/venv/lib/python2.6/site-packages/gunicorn/http/wsgi.py", line 146, in create
path_info = path_info.split(script_name, 1)[1]
IndexError: list index out of range
मैं इस स्क्रिप्ट
#!/bin/bash
LOGFILE=/var/log/gunicorn/one-project.log
VENV_DIR=/path/to/venv/
LOGDIR=$(dirname $LOGFILE)
NUM_WORKERS=5
# user/group to run as
USER=USER
GROUP=GROUP
BIND=127.0.0.1:9999
cd /path_to_project
echo 'Setup Enviroment'
#some libraries
echo 'Setup Venv'
source $VENV_DIR/bin/activate
export PYTHONPATH=$VENV_DIR/lib/python2.6/site-packages:$PYTHONPATH
#Setup Django Deploy
export DJANGO_DEPLOY_ENV=stage
echo 'Run Server'
test -d $LOGDIR || mkdir -p $LOGDIR
export SCRIPT_NAME='/home/tileone/one-project'
exec $VENV_DIR/bin/gunicorn_django -w $NUM_WORKERS --bind=$BIND\
--user=$USER --group=$GROUP --log-level=debug \
--log-file=$LOGFILE 2>>$LOGFILE
और मेरे अपाचे विन्यास चला रहा हूँ है प्राप्त कर रहा हूँ इस तरह:
Alias /static/ /hpath_to_static/static/
Alias /media/ /path_to_static/media/
Alias /favicon.ico /path_to/favicon.ico
ProxyPreserveHost On
<Location />
SSLRequireSSL
ProxyPass http://127.0.0.1:9999/
ProxyPassReverse http://127.0.0.1:9999/
RequestHeader set SCRIPT_NAME /home/tileone/one-project/
RequestHeader set X-FORWARDED-PROTOCOL ssl
RequestHeader set X-FORWARDED-SSL on
</Location>
मैं क्या गलत कर रहा हूं?
RequestHeader set SCRIPT_NAME /home/tileone/one-project/
और बजाय settings.py
करने के बराबर जोड़ने:
FORCE_SCRIPT_NAME = '/one-project'
इस के लिए
बेशक,