मेरे पास एक django ऐप है जो मानक विकास वातावरण का उपयोग करके स्थानीय रूप से चल सकता है। मैं अब इसे उत्पादन के लिए EC2 में स्थानांतरित करना चाहता हूं। Django प्रलेखन अपाचे और mod_wsgi के साथ चलने का सुझाव देता है, और स्थैतिक फ़ाइलों को लोड करने के लिए nginx का उपयोग करता है।
मैं एक Ec2 बॉक्स पर Ubuntu 12.04 चला रहा हूं। मेरा Django ऐप, "ddt", में ddt.wsgi के साथ एक उपनिर्देशिका "अपाचे" शामिल है
import os, sys
apache_configuration= os.path.dirname(__file__)
project = os.path.dirname(apache_configuration)
workspace = os.path.dirname(project)
sys.path.append(workspace)
sys.path.append('/usr/lib/python2.7/site-packages/django/')
sys.path.append('/home/jeffrey/www/ddt/')
os.environ['DJANGO_SETTINGS_MODULE'] = 'ddt.settings'
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
मैं apt से स्थापित mod_wsgi है। मेरी अपाचे / httpd.conf शामिल हैं
NameVirtualHost *:8080
WSGIScriptAlias / /home/jeffrey/www/ddt/apache/ddt.wsgi
WSGIPythonPath /home/jeffrey/www/ddt
<Directory /home/jeffrey/www/ddt/apache/>
<Files ddt.wsgi>
Order deny,allow
Allow from all
</Files>
</Directory>
Apache2 / साइट्स-सक्षम के तहत
<VirtualHost *:8080>
ServerName www.mysite.com
ServerAlias mysite.com
<Directory /home/jeffrey/www/ddt/apache/>
Order deny,allow
Allow from all
</Directory>
LogLevel warn
ErrorLog /home/jeffrey/www/ddt/logs/apache_error.log
CustomLog /home/jeffrey/www/ddt/logs/apache_access.log combined
WSGIDaemonProcess datadriventrading.com user=www-data group=www-data threads=25
WSGIProcessGroup datadriventrading.com
WSGIScriptAlias / /home/jeffrey/www/ddt/apache/ddt.wsgi
</VirtualHost>
अगर मैं सही हूं, तो ऊपर दी गई ये 3 फाइलें मेरे django ऐप को पोर्ट 8080 पर सही ढंग से चलने देंगी ।
मेरे पास निम्न nginx /xy.conf फ़ाइल है
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size 10m;
client_body_buffer_size 128k;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
Nginx / साइट्स-सक्षम के तहत
server {
listen 80;
server_name www.mysite.com mysite.com;
access_log /home/jeffrey/www/ddt/logs/nginx_access.log;
error_log /home/jeffrey/www/ddt/logs/nginx_error.log;
location / {
proxy_pass http://127.0.0.1:8080;
include /etc/nginx/proxy.conf;
}
location /media/ {
root /home/jeffrey/www/ddt/;
}
}
अगर मैं सही हूं कि इन दो फाइलों को HTTP पोर्ट 80 पर रिक्वेस्ट लेने के लिए nginx को सेटअप करना चाहिए, लेकिन फिर अपाचे के लिए डायरेक्ट रिक्वेस्ट जो कि पोर्ट 8080 पर django ऐप चला रही है। !
यह कैसे डीबग करने के लिए कोई सलाह?