আমার কাছে একটি জাঙ্গো অ্যাপ্লিকেশন রয়েছে যা মানক উন্নয়নের পরিবেশটি ব্যবহার করে স্থানীয়ভাবে চলতে পারে। আমি এখন এটি উত্পাদন জন্য ইসি 2 এ স্থানান্তর করতে চাই। জ্যাঙ্গো ডকুমেন্টেশনটি অ্যাপাচি এবং মোড_উজি দিয়ে চালানো এবং স্ট্যাটিক ফাইলগুলি লোড করার জন্য এনজিনেক্স ব্যবহার করার পরামর্শ দেয়।
আমি একটি Ec2 বাক্সে উবুন্টু 12.04 চালাচ্ছি। আমার জ্যাঙ্গো অ্যাপ্লিকেশন, "ডিডিটি", 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()
আমি অ্যাপটি থেকে মোড_উজি ইনস্টল করেছি। আমার অ্যাপাচি / 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>
অ্যাপাচি 2 / সাইটস-এর অধীন
<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 টি ফাইলের সঠিকভাবে আমার জ্যাঙ্গো অ্যাপ্লিকেশনটি 8080 পোর্টে চালানোর অনুমতি দেওয়া উচিত ।
আমার কাছে নিম্নলিখিত nginx / proxy.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;
এনজিএনএক্স / সাইটগুলি সক্ষম enabled
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/;
}
}
আমি যদি সঠিক হয়ে থাকি তবে এই দুটি ফাইল এইচটিটিপি পোর্ট ৮০ এ অনুরোধ নেওয়ার জন্য এনজিনেক্স সেটআপ করা উচিত, তবে তারপরে অ্যাপাচে যাবার জন্য সরাসরি অনুরোধ যা 8080 বন্দরটিতে জ্যাঙ্গো অ্যাপ্লিকেশনটি চালাচ্ছে i আমি যদি mysite.com এ যাই, তবে আমি যা দেখছি তার সবই আপনাকে স্বাগতম এনগিনেক্সে !
এটি ডিবাগ করার জন্য কোনও পরামর্শ?