আপনি কীভাবে ইসি 2 মাইক্রো ইনস্ট্যান্সটি লাইটথটিপিডি থেকে সিজিআই স্ক্রিপ্টগুলি পরিবেশন করতে পারেন? উদাহরণস্বরূপ পাইথন সিজিআই?
ঠিক আছে, এটি অর্ধেক সময় নিয়েছে, তবে আমি পাইথন সিজি একটি নিখরচায় অ্যামাজন এডাব্লুএস ইসি 2 মাইক্রো-ইনস্ট্যান্টে চালিত করেছি, লাইটটিপিডি সার্ভারটি ব্যবহার করে। আমি মনে করি এটি আমার সহযোদ্ধাদের সমস্ত পদক্ষেপ এক জায়গায় রাখতে সহায়তা করবে। নীচের সরল পদক্ষেপে সজ্জিত, জিনিসগুলি সেট আপ করতে আপনার কেবল 15 মিনিট সময় লাগবে!
এটি পড়ার জন্য আরও অভিজ্ঞ ব্যবহারকারীদের জন্য আমার প্রশ্নটি: আমি যা করেছি তাতে কোনও সুরক্ষা ত্রুটি রয়েছে? (ফাইল এবং ডিরেক্টরি অনুমতি দেখুন।)
পদক্ষেপ 1: আপনার ইসি 2 উদাহরণটি শুরু করুন এবং এতে প্রবেশ করুন।
[স্পষ্টতই, আপনাকে অ্যামাজন ইসি 2 এর জন্য সাইন আপ করতে হবে এবং আপনার কীগুলি একটি * .পিএম ফাইলে সংরক্ষণ করতে হবে। আমি এটি অতিক্রম করব না, যেহেতু অ্যামাজন আপনাকে কীভাবে এটি করতে বলে]
আপনার AWS অ্যাকাউন্টে সাইন ইন করুন এবং আপনার ইসি 2 উদাহরণটি শুরু করুন। ওয়েবে এটি করার বিষয়ে টিউটোরিয়াল রয়েছে। লক্ষ্য করুন যে অ্যামাজন আপনাকে ডিফল্ট উদাহরণস্বরূপ আকার দেয় "ছোট"। এটি "মাইক্রো" নয় এবং তাই এটি আপনার অর্থ ব্যয় করবে। ম্যানুয়ালি "মাইক্রো" চয়ন করতে ভুলবেন না। (মাইক্রো উদাহরণগুলি কেবল প্রথম বছরের জন্য বিনামূল্যে ...)
আপনার চলমান উদাহরণের জন্য সর্বজনীন ডিএনএস কোড সন্ধান করুন। এটি করতে, ড্যাশবোর্ডের শীর্ষ ফলকের উদাহরণটি ক্লিক করুন এবং আপনি শেষ পর্যন্ত নীচের অংশে "জনসাধারণের ডিএনএস" ক্ষেত্রটি দেখবেন। (আপনাকে কিছুটা ভাটার দরকার পড়তে পারে)) সর্বজনীন ডিএনএস এর মতো দেখতে লাগে:
ec2-174-129-110-23.compute-1.amazonaws.com
আপনার ইউনিক্স কনসোল প্রোগ্রামটি শুরু করুন। (ম্যাক্স ওএস এক্সে, এটি টার্মিনাল বলা হয় এবং অ্যাপ্লিকেশন -> ইউটিলিটিস ফোল্ডারে থাকে)
আপনার ডেস্কটপ সিস্টেমের ডিরেক্টরিতে সিডি করুন যাতে আপনার * .পিএম ফাইল রয়েছে যাতে আপনার এডাব্লুএস কীপাস থাকে।
আপনার ইসি 2 উদাহরণে ssh করুন যেমন একটি কমান্ড ব্যবহার করে:
ssh -i <<your *.pem filename>> ec2-user@<< Public DNS address >>
সুতরাং, আমার জন্য, এটি ছিল:
ssh -i amzn_ec2_keypair.pem ec2-user@ec2-174-129-110-23.compute-1.amazonaws.com
আপনার ইসি 2 উদাহরণটি আপনাকে প্রবেশ করতে দেওয়া উচিত।
পদক্ষেপ 2: আপনার ইসি 2 ইভেন্টে লাইটটিপিডি ডাউনলোড করুন।
লাইটটিপিডি ইনস্টল করতে আপনার ইসি 2 উদাহরণে রুট অ্যাক্সেসের প্রয়োজন হবে। সমস্যাটি হ'ল: আমাজন আপনাকে রুট হিসাবে সাইন ইন করতে দেয় না। (সোজাসাপ্টাভাবে নয়, কমপক্ষে)) তবে এখানে একটি কার্যনির্বাহী কাজ রয়েছে। এই আদেশটি টাইপ করুন:
sudo /bin/bash
সিস্টেম প্রম্পট-অক্ষরটি $ থেকে # এ পরিবর্তিত হবে। এই পুরো প্রক্রিয়াটির একেবারে শেষ ধাপ পর্যন্ত আমরা "সুডো" থেকে প্রস্থান করব না।
লাইটটিপিডি অ্যাপ্লিকেশন ইনস্টল করুন (আমার জন্য সংস্করণ 1.4.28-1.3.amzn1):
yum install lighttpd
লাইটটিপিডির জন্য ফাস্টসিজিআই লাইব্রেরি ইনস্টল করুন (প্রয়োজন নেই, তবে কেন নয়?):
yum install lighttpd-fastcgi
আপনার সার্ভার কাজ করছে তা পরীক্ষা করুন:
/etc/init.d/lighttpd start
পদক্ষেপ 3: বাইরের বিশ্বের আপনার সার্ভারটি দেখতে দিন।
আপনি যদি এখন আপনার ডেস্কটপে ব্রাউজার থেকে আপনার সার্ভারটি হিট করার চেষ্টা করেন তবে এটি ব্যর্থ হবে। কারণ: ডিফল্টরূপে, অ্যামাজন এডাব্লুএস আপনার ইসি 2 উদাহরণে কোনও পোর্ট খুলবে না। সুতরাং, আপনাকে ম্যানুয়ালি পোর্টগুলি খুলতে হবে।
আপনার ডেস্কটপের ব্রাউজারে আপনার ইসি 2 ড্যাশবোর্ডে যান। বাম ফলকে "সুরক্ষা গোষ্ঠী" এ ক্লিক করুন। এক বা একাধিক সুরক্ষা গোষ্ঠী উপরের ডানদিকে প্রদর্শিত হবে। আপনি যখন আপনার দৃষ্টান্তটি চালু করেছিলেন তখন আপনার ইসি 2 ইভেন্টের জন্য যেটি বরাদ্দ করা হয়েছিল সেটিকে বেছে নিন।
নীচে ডান ফলকে "অনুমোদিত সংযোগগুলি" নামে একটি সারণী উপস্থিত হবে। একটি পপ-আপ মেনু আপনাকে সংযোগ পদ্ধতি হিসাবে "HTTP" চয়ন করতে দেয় let
সারণির সেই লাইনের অন্যান্য মানগুলি হ'ল: টিসিপি, 80, 80, 0.0.0.0/0
এখন আপনার ব্রাউজারের ডেস্কটপ থেকে আপনার ইসি ইনস্ট্যান্সের সার্ভারটি হিট করুন। আপনি এসএসএইচ-এর আগে যে পাবলিক ডিএনএস ঠিকানা ব্যবহার করেছিলেন সেগুলি ব্যবহার করুন You আপনার লাইটটিপিডি জেনেরিক ওয়েব পৃষ্ঠাটি দেখা উচিত। আপনি যদি তা না করেন তবে আমি আপনাকে সাহায্য করতে পারি না কারণ আমি এমন নুবহু। :-(
পদক্ষেপ 4: সিজিআই পরিবেশন করতে লাইটটিপিডি কনফিগার করুন।
কনসোল প্রোগ্রামে ফিরে, সিডি হালকাটিপিডি জন্য কনফিগারেশন ডিরেক্টরিতে:
cd /etc/lighttpd
সিজিআই সক্ষম করতে, আপনি <মডিউল.কনফ> ফাইলে একটি লাইনকে নিয়ন্ত্রণ করতে চান। (আমি দ্রুত সিজিআই সক্ষম করতে পারতাম, তবে শিশুর ধাপগুলি সর্বোত্তম!) আপনি "এড" সম্পাদক সহ নিম্নলিখিতটি করতে পারেন:
ed modules.conf
/include "conf.d\/cgi.conf"/
s/#//
w
q
ডিরেক্টরি তৈরি করুন যেখানে সিজিআই প্রোগ্রাম থাকবে। (/Etc/lighttpd/lighttpd.conf ফাইলটি এটি কোথায় হবে তা নির্ধারণ করে)) আমরা আমাদের ডিরেক্টরিটি ডিফল্ট স্থানে তৈরি করব, সুতরাং আমাদের কনফিগারেশন ফাইলগুলির কোনও সম্পাদনা করতে হবে না:
cd /var/www/lighttpd
mkdir cgi-bin
chmod 755 cgi-bin
প্রায় সেখানে! অবশ্যই আপনাকে সিজি-বিন ডিরেক্টরিতে একটি পরীক্ষা সিজিআই প্রোগ্রাম রাখা দরকার। এখানে একটি:
cd cgi-bin
ed
a
#!/usr/bin/python
print "Content-type: text/html\n\n"
print "<html><body>Hello, pyworld.</body></html>"
.
w hellopyworld.py
q
chmod 655 hellopyworld.py
আপনার লাইটটিপিডি সার্ভারটি পুনরায় চালু করুন:
/etc/init.d/lighttpd restart
আপনার সিজিআই প্রোগ্রাম পরীক্ষা করুন। আপনার ডেস্কটপের ব্রাউজারে, আপনার ইসি 2 উদাহরণের সার্বজনীন ডিএনএস ঠিকানা স্থিত করে এই URL টি টিপুন:
http://<<Public DNS>>/cgi-bin/hellopyworld.py
আমার জন্য, এটি ছিল:
http://ec2-174-129-110-23.compute-1.amazonaws.com/cgi-bin/hellopyworld.py
পদক্ষেপ 5: এটি! পরিষ্কার করুন, এবং ধন্যবাদ!
পূর্বে প্রদত্ত "sudo / bin / bash" কমান্ড থেকে প্রস্থান করতে টাইপ করুন:
exit
স্বীকৃতি: ধন্যবাদ এর স্তূপ:
wiki.vpslink.com/Install_and_Configure_lighttpd
www.cyberciti.biz/tips/lighttpd-howto-setup-cgi-bin-access-for-perl-programs.html
aws.typepad.com/aws/2010/06/building-three-tier-architectures-with-security-groups.html
শুভকামনা, অ্যামিগোস! আমি এই "প্রশ্ন" এর অপ্রচলিত প্রকৃতির জন্য ক্ষমা চাইছি কিন্তু স্ট্যাকওভারফ্লো থেকে আমি এতটা সহায়তা পেয়েছি যে আমি কিছু ফিরিয়ে দিতে আগ্রহী।