আমি ডাব্লুএসজিআই ব্যবহার করে একটি সাধারণ পাইথন ওয়েব পরিষেবা বিকাশ করেছি এবং ইলাস্টিক বিয়ানস্টালক ব্যবহার করে এটি এডাব্লুএস ক্লাউডে স্থাপন করতে চাই। আমার সমস্যাটি হ'ল ক্লাউডে সঠিকভাবে কনফিগার করার জন্য আমি ইলাস্টিক বিয়ানস্টালক কনফিগারেশনে উল্লিখিত সমস্ত বিকল্পগুলি করতে পারি না।
স্থাপনার জন্য, আমি ইলাস্টিক বিয়ানস্টালক সি এল এল ইউটিলিটি ব্যবহার করি। আমি eb init
কমান্ড রান করেছি এবং প্রয়োজনীয় পরামিতিগুলি সেট আপ করেছি। এর পরে, .elasticbeanstalk
আমার উত্স ট্রিতে নামের একটি ডিরেক্টরি তৈরি করা হয়েছিল। এটিতে দুটি কনফিগারেশন ফাইল রয়েছে যা ব্যবহারের জন্য ব্যবহৃত হয়, config
এবং এবং optionsettings
। অন্যান্য বিকল্পগুলির মধ্যে একটিতে ডাব্লুএসজিআই কনফিগারেশন রয়েছে /etc/httpd/conf.d/wsgi.conf
যা উদাহরণস্বরূপ আপডেট করতে হবে । আমার কিছু সমন্বয়ের পরে ফাইলের নিম্নলিখিত সেটিংস রয়েছে:
[আওস: elasticbeanstalk: আবেদন: পরিবেশ] DJANGO_SETTINGS_MODULE = PARAM1 = PARAM2 = PARAM4 = PARAM3 = PARAM5 = [আওস: elasticbeanstalk: ধারক: পাইথন] ডাব্লুএসজিপাথ = হ্যান্ডেলআরপি নামপ্রসেসস = 2 স্ট্যাটিকফাইলস = / স্ট্যাটিক = সংখ্যাসংখ্যা = 10 [আওস: elasticbeanstalk: ধারক: পাইথন: staticfiles] / স্ট্যাটিক = স্থির / [আওস: elasticbeanstalk: hostmanager] লগপপলিকেশনকন্ট্রোল = মিথ্যা [আওস: autoscaling: launchconfiguration] ইনস্ট্যান্টটাইপ = t1.micro EC2KeyName = জিমিয়ার-আউজ [আওস: elasticbeanstalk: আবেদন] অ্যাপ্লিকেশন স্বাস্থ্য পরীক্ষা URL = [আওস: autoscaling: ASG] ম্যাক্স সাইজ = 10 মাইন সাইজ = 1 কাস্টম উপলভ্যতা অঞ্চল = [আওস: elasticbeanstalk: পর্যবেক্ষণ] অস্বাস্থ্যকর দৃষ্টান্তগুলি স্বয়ংক্রিয়ভাবে শেষ করুন = সত্য [আওস: elasticbeanstalk: SNS: TOPICS] বিজ্ঞপ্তি শেষ পয়েন্ট = বিজ্ঞপ্তি প্রোটোকল = ইমেল
দেখা যাচ্ছে যে আমি যখন পরিবেশ শুরু করি বা আপডেট করি তখন এই সমস্ত বিকল্প বিবেচনা করা হয় না। সুতরাং, যখন আমি আপডেট করি NumThreads
বা NumProcesses
, সম্পর্কিত প্যারামিটারগুলি wsgi.conf
প্রত্যাশার সাথে পরিবর্তিত হয় । তবে আমি WSGIPath
এবং StaticFiles
পরামিতিগুলিতে যাই লিখি না কেন wsgi.conf
, সেগুলির মানগুলিতে স্বয়ংক্রিয়ভাবে পরিবর্তন করতে পারছি না
Alias /static /opt/python/current/app/
WSGIScriptAlias / /opt/python/current/app/application.py
যা আমাকে বাদাম চালায়। তদ্ব্যতীত, আমি যখন ফাইলটি git aws.push
নিম্নলিখিত বিষয়বস্তুগুলি ব্যবহার করে এবং রাখার মাধ্যমে আমার অ্যাপ্লিকেশন স্থাপন করি, তখন আমি এতে .ebextensions/python.config
উল্লেখ করা বিকল্পগুলির কোনওটিই মোতায়েনকে প্রভাবিত করে না।
option_settings: - নেমস্পেস: আওস: ইলাস্টিকিয়ানস্টালক: ধারক: পাইথন বিকল্প_নাম: ডাব্লুএসজিপাথ মান: mysite / wsgi.py - নেমস্পেস: আওস: ইলাস্টিকিয়ানস্টালক: ধারক: পাইথন বিকল্প_নাম: নামপ্রসেসগুলি মান: 5 - নেমস্পেস: আওস: ইলাস্টিকিয়ানস্টালক: ধারক: পাইথন বিকল্প_নাম: নাম থ্রেডস মান: 25 - নেমস্পেস: আওস: ইলাস্টিকীয় পাথর: ধারক: পাইথন: স্ট্যাটিকফিলস বিকল্প নাম: / স্থির / মান: অ্যাপ / স্ট্যাটিক /
আমি অবাক হয়েছি যে কনফিগারেশনে আমি যে সমস্ত প্যারামিটারগুলি নির্দিষ্ট করেছি তা ডাব্লুএসজিআই পাথ এবং আমার স্থিতিশীল ডেটার পথে পাথর ব্যবহার করতে আমার কী করা উচিত।