আমি বিভিন্ন ভাসাল সহ একটি উউসগি সম্রাট চালাচ্ছি যা প্রত্যেকে আলাদা আলাদা ভার্চুয়ালেনভের একটি নির্দিষ্ট পাইথন অ্যাপ্লিকেশন সরবরাহ করে। যেহেতু উউসগি এটির নিজস্ব পাইথন ২.7 দোভাষী নিয়ে সংকলিত হয়েছে, পাইথন 3 এর সাথে একটি ভার্চুয়ালেনভ ব্যবহার করার চেষ্টা করছে তাতে ভ্যাসাল.লগের মধ্যে নিম্নলিখিত ত্রুটি তৈরি হয়েছে:
ImportError: No module named site
আমি বিশ্বাস করি যে এই ত্রুটিটির উত্স হ'ল উউসগি তার অন্তর্নির্মিত পাইথন ২.7 দোভাষী ব্যবহার করছেন, যখন যে ভার্চুয়ালেনভ ডিরেক্টরিটি এটি চালাচ্ছে কেবল পাইথন 3 ব্যাখ্যামূলককে সমর্থন করে। আসলে, যখন আমি অন্য উউসগি ব্যবহার করি (কেবল pip install uwsgi
একই ভার্চুয়ালেনভের সাথে এটি ইনস্টল করে ) ত্রুটিটি অদৃশ্য হয়ে যায়। যাইহোক, আমি চাই একজন সম্রাট বিভিন্ন ধরণের ভার্চুয়ালিভেনের উপরে রাজত্ব করুক, সুতরাং প্রত্যেকটিতে পৃথক ইউউজি ইনস্টল করা কোনও বিকল্প নয়।
স্ট্যাকওভারফ্লো-এর এই উত্তর অনুসারে , এর সমাধানের সঠিক উপায় হ'ল উউজগিকে বিভিন্ন পাইথন দোভাষী দ্বারা লোডযোগ্য মডিউল হিসাবে সংকলন করা। আমি এই পদ্ধতির প্রতিশ্রুতিবদ্ধ হওয়ার আগে, আমি জানতে চাই যে আমি কীভাবে আমার ভাসালগুলিকে প্রত্যেককে অন্য একটি দোভাষী দের প্লাগইন ব্যবহার করতে কনফিগার করতে পারি।
এই মুহূর্তে আমার একটি সম্রাট রয়েছেন যা আমার /etc/rc.local থেকে নিম্নলিখিত সেটিংস সহ শুরু হয়েছে:
[uwsgi]
uid = www-data
gid = www-data
master = true
emperor = /etc/uwsgi/vassals
daemonize = /var/log/uwsgi/emperor.log
তারপরে আমার কাছে এই জাতীয় ফাইল সহ ভ্যাসালগুলির একটি গুচ্ছ রয়েছে:
[uwsgi]
master = false
single-interpreter = true
socket = /tmp/%n.sock
virtualenv = /home/user/.virtualenvs/djangoproject
chdir = /home/user/djangoproject
wsgi-file = project/wsgi.py
logto = /var/log/uwsgi/%n.log
বেশ কয়েকটি ইন্টারপ্রেটার প্লাগইন দিয়ে উউসগির একটি ট্যুইড সংস্করণ সংকলন করতে আমার কোনও সমস্যা নেই তবে আমি এই আলাদা আলাদা দোভাষীটি ব্যবহার করতে আমার কনফিগারেশনে কী পরিবর্তন করতে হবে তা জানতে চাই । আমি কি কেবল একটি ভাসাল.আইএনই বলতে পারি:
plugin = python3.4
এবং অন্যটিতে:
plugin = python2.7
?
একই উউসজি সম্রাটের অধীনে পাইথন ২.7 এবং পাইথন 3 ভার্চুয়াল্লিনভগুলি কীভাবে একত্রিত করবেন তা অনুগ্রহ করে আমাকে অনুগ্রহ করে আমাকে সহায়তা করুন।
plugins=python3
বাplugins=python36