পাইথনকে কীভাবে লাইটটিপিডি দিয়ে কাজ করবেন?


25

আমি আমার রাস্পবেরি পাইতে লাইটটিপিডি সেটআপ পেয়েছি, তবে আমি এখন সার্ভার-সাইড কোডটি কাজ করতে চাই। আমি পিএইচপি এর সাথে পরিচিত, তবে আমি অনুমান করি যে পাইথনটি চেষ্টা করা উচিত কারণ এটি রাস্পবেরি পাই এর জন্য "যান" ভাষা হওয়ার কথা। লাইটটিপিডি এর মাধ্যমে পাইথন হ্যান্ডলিং সার্ভার-সাইড কোডটি কীভাবে পাব?


Penzilla.net/tutorials/python/cgi লিঙ্কটি ভাঙা হয়েছে তবে দুর্দান্ত লেখার জন্য ধন্যবাদ। আমার পাই আগামি!

উত্তর:


16

আপনার যা দরকার তা হ'ল লাইটটিপিডির সিজিআই সহায়তা।

লাইটটিপিডি কনফিগারেশন ফাইলটি ( /etc/lighttpd/lighttpd.conf ) খুলুন এবং "মোড_সিজি" লাইনটি সংক্ষেপিত করুন (উপস্থিত থাকলে লাইনটির শুরু থেকে # টি সরান) বা উপস্থিত না থাকলে এই লাইনটি যুক্ত করুন।

server.modules = (
            "mod_access",
            "mod_alias",
            "mod_accesslog",
            "mod_auth",
            "mod_ssi",
            "mod_cgi",
            "mod_compress",
            "mod_fastcgi",
            "mod_rewrite",
            "mod_magnet",
)

নিম্নলিখিত ফাইলটি নীচে যুক্ত করুন:

$HTTP["url"] =~ "^/cgi-bin/" {
        cgi.assign = ( ".py" => "/usr/bin/python" )
}

লাইটটিপিডি ডিমন পুনরায় চালু করুন:

sudo service lighttpd force-reload

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

ওয়েব অনুরোধগুলি পরিচালনা করতে আপনি পাইথন স্ক্রিপ্টগুলি এখন লিখতে পারেন। আপনি পাইথনের সাথে সিজিআই প্রোগ্রাম লিখতে এই টিউটোরিয়ালটি পড়তে চাইতে পারেন ।

অন্যদিকে আপনি যদি নিম্ন স্তরের কিছু বিশদ পরিচালনা করতে এবং বিকাশকারীদের উত্পাদনশীলতার উন্নতি করতে একটি ফ্রেমওয়ার্ক ব্যবহার করেন তবে আমি ওয়েব.পি পরীক্ষা করে দেখার পরামর্শ দিই । আপনি এপটি ব্যবহার করে এটি ইনস্টল করতে পারেন:

sudo apt-get install python-webpy

ক্লাউড 101 ব্লগের লুকাস ওয়েবপৃষ্ঠা কাঠামো ব্যবহার করে ওয়েব পৃষ্ঠাগুলি লেখার জন্য একটি দুর্দান্ত টিউটোরিয়াল পোস্ট করেছে ।


এটি কি ফাস্টসিজিআই বা সিজিআই?
মার্ক ইনগ্রাম

নোট করুন যে সরল সিজিআই-এর প্রতিটি অনুরোধের জন্য পাইথন ইন্টারপ্রেটার শুরু করা দরকার তাই এটি কেবলমাত্র মাঝে মধ্যে অনুরোধের জন্য উপযুক্ত।
থরবজর্ন রাভন অ্যান্ডারসন

হায়, এটি কেবল আংশিকভাবে কাজ করেছিল। আমি এখন "http: // (IP) /cgi-bin/test.py?parameter=xxx" কল করেও পাইথন চালাতে পারি তবে "http: // (IP) /cgi-bin/test.cgi?parameter=xxx না "- পরবর্তীকালে একটি 404 ত্রুটি দেয় ...
576i

@ 576i এই লাইনটি cgi.assign = (".py" => "/ usr / bin / python") কে cgi.assign = (".cgi" => "/ usr / বিন / পাইথন") এ পরিবর্তন করার চেষ্টা করুন
স্টিভ রবিলার্ড

1
@ 576i অন্য প্রশ্নের মন্তব্যে এই আলোচনা চালিয়ে যাওয়ার পরিবর্তে দয়া করে একটি নতুন প্রশ্ন খুলুন এবং কী কাজ করে এবং আপনি কী চেষ্টা করেছেন তা অন্তর্ভুক্ত করুন। আমি তখন এই মন্তব্যগুলি মুছে ফেলব। বিটিডব্লিউর কোনও কারণেই আপনি কেবল .py এক্সটেনশন নিয়ে যেতে পারবেন না, যা আপনি বলেছিলেন যে কাজ করে?
স্টিভ রবিলার্ড 21

3

গৃহীত উত্তরটি আমার পক্ষে কার্যকর হয়নি এবং এটি লাইটটিপিডি-র জন্য উপলব্ধ পূর্ব-কনফিগার প্যাকেজগুলিকেও উপেক্ষা করে।

রাস্পবেরির জন্য লাইটটিপডিতে পাইথন ইনস্টল করার সঠিক উপায় হ'ল:

প্রথমে সিগিকে সক্ষম করুন

sudo lighttpd-enable-mod cgi

এটি লাইটটিপিডি-র জন্য একটি নতুন কনফিগারেশন ফাইল তৈরি করে:

/etc/lighttpd/conf-enabled/10-cgi.conf

এর nano /etc/lighttpd/conf-enabled/10-cgi.confঅনুরূপ দেখতে কনফিগারেশন ফাইলটি সম্পাদনা করুন

server.modules += ( "mod_cgi" )

$HTTP["url"] =~ "^/cgi-bin/" {
        alias.url += ( "/cgi-bin/" => "/var/www/cgi-bin" )
        cgi.assign = (
                ".py"  => "/usr/bin/python",
        )
}

নির্বাহের মাধ্যমে পাইথন 2 ইনস্টল করা আছে তা নিশ্চিত করুন:

/usr/bin/python --version

এখন, পুনরায় চালু করুন

sudo /etc/init.d/lighttpd force-reload

শুভকামনা!

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