জিনগো অ্যাপ্লিকেশনটি এনগিনেক্স, অ্যাপাচি, মোড_উজগির সাথে স্থাপন করা হচ্ছে


13

আমার কাছে একটি জাঙ্গো অ্যাপ্লিকেশন রয়েছে যা মানক উন্নয়নের পরিবেশটি ব্যবহার করে স্থানীয়ভাবে চলতে পারে। আমি এখন এটি উত্পাদন জন্য ইসি 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 এ যাই, তবে আমি যা দেখছি তার সবই আপনাকে স্বাগতম এনগিনেক্সে !

এটি ডিবাগ করার জন্য কোনও পরামর্শ?


আপনি দয়া করে আপনার nginx.conf ফাইল পোস্ট করতে পারেন? এনগিনেক্স আপনার হোস্টকে সক্ষম না করার ক্ষেত্রে কিছু সমস্যা রয়েছে, সম্ভবত লাইন অন্তর্ভুক্ত অন্তর্ভুক্ত /etc/nginx/conf.d/*.conf; এবং আপনার কনফিগারেশন ফাইল .conf নয়। কোনওভাবেই যদি আপনি nginx স্বাগত পৃষ্ঠা দেখতে পান তার অর্থ আপনার কনফিগারটি প্রয়োগ করা হয়নি।
আন্দ্রেই মিখালতসভ

ভবিষ্যতের ব্যবহারকারীদের জন্য আমার উল্লেখ করা উচিত যে মোড_উজি-এক্সপ্রেসের আবির্ভাবের সাথে আমাদের কোনও অ্যাপাচি কনফিগারেশন, ভার্চুয়ালহোস্ট সংজ্ঞা, কনফ এবং সাইট ফোল্ডারে কিছুই করার দরকার নেই। এগুলি সবগুলি স্বয়ংক্রিয়ভাবে মোড_উজি-এক্সপ্রেস দ্বারা একটি অনুকূল-অনুকূল পদ্ধতিতে সম্পন্ন হয়েছে। বিশদের জন্য গ্রাহামের ব্লগ পোস্টগুলি দেখুন
অনুপম

উত্তর:


1

দয়া করে নোট করুন, আপনার অনুরোধগুলিতে আপনার www.mysite.com বা mysite.com ব্যবহার করা উচিত (এটি কনফিগ ফাইলে সংজ্ঞায়িত করা হয়েছে):

server {
  listen 80;
  server_name www.mysite.com mysite.com;

তবে দেখে মনে হচ্ছে, আপনি লোকালহোস্ট বা আইপি ঠিকানার মাধ্যমে সাইটটির জন্য অনুরোধ করছেন


0

সবার আগে দয়া করে নিশ্চিত হয়ে নিন যে আপনি 127.0.0.1:8080 এ আপনার অ্যাপ্লিকেশনটি অ্যাক্সেস করতে পারবেন এবং দয়া করে nginx_error.log এর সামগ্রী পোস্ট করুন। কপি পেস্ট চেষ্টা করুন নিম্নলিখিত nginx কনফারেন্স ফাইল এবং পরীক্ষা করে দেখুন এটি কাজ করছে। আমি আমার পাইথন অ্যাপ্লিকেশনটির জন্য একই কনফিগারেশন ব্যবহার করছি।

user www-data;
worker_processes 4;
pid /var/run/nginx.pid;

events {
    worker_connections 768;
    # multi_accept on;
}

http {

    ##
    # Basic Settings
    ##

    sendfile on;
    tcp_nopush on;
    tcp_nodelay on;
    keepalive_timeout 65;
    types_hash_max_size 2048;
    # server_tokens off;

    include /etc/nginx/mime.types;
    default_type application/octet-stream;

    ##
    # Logging Settings
    ##

    access_log /var/log/nginx/access.log;
    error_log /var/log/nginx/error.log;

    ##
    # Gzip Settings
    ##

    gzip on;
    gzip_disable "msie6";


    ##
    # Virtual Host Configs
    ##

    server {
        listen 80;

        location / {
            proxy_pass_header Server;
            proxy_set_header Host $http_host;
            proxy_redirect off;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Scheme $scheme;
            proxy_pass http://127.0.0.1:8080;
        }

    location /static {
        root /home/ubuntu/www/myproject/webapp;
    }

    }


    include /etc/nginx/conf.d/*.conf;
    include /etc/nginx/sites-enabled/*;

}

0

আপনার এনজিআইএনএক্স কনফিগারেশনে, আপনি এ এর ​​মধ্যে কনফাইব ফাইল ( /etc/nginx/proxy.conf) প্রবেশের পথটি অন্তর্ভুক্ত করেছেন location। আমি বিশ্বাস করি যে এটি বাহিরের


0

প্রথমত, দয়া করে পবিত্র যে সমস্ত ভালবাসার জন্য, nginx এবং httpd উভয়ই ব্যবহার করবেন না। এটি ডিবাগ করতে পাছা একটি ব্যথা হতে চলেছে।

দ্বিতীয়ত, দস্তাবেজের কোথাও আমি দেখিনি যে তারা এই ধরণের সেটআপ করার পরামর্শ দেয়।

অ্যাপাচি বা এনগিনেক্স ব্যবহার করুন, এটি আপনার অর্ধেক সমস্যা দূর করবে।

আপনার এনজিনএক্স.কনফটি পরীক্ষা করুন যদি এটি অন্যান্য ডায়ার থেকে ফাইলগুলি অন্তর্ভুক্ত না করে থাকে তবে এটিতে এমন একটি বিশ্বব্যাপী ভোস্ট থাকতে পারে যা আপনাকে ওভাররাইড করে।

আপনি বর্তমানে আপনার উত্পাদন সেটআপ ফাঁস হওয়ায় ডাব্লুএসজিআই প্যারামগুলির কাছে অ্যাপাচি কনফিগারেশনে ডোমেন সরানোর জন্য আপনার পোস্টটিও সম্পাদনা করা উচিত।

সাইটগুলি সক্ষম হওয়া থেকে অন্য সাইটগুলি সরান।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.