জাইঙ্গো / পাইথন ইনস্টলেশনটি কীভাবে পাইথন-নবাবি একটি ভাগ করা আইআইএস সার্ভার চালাচ্ছেন [বন্ধ]


9

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

আমি আমাদের ওয়েবসাইটটির পুনরায় নকশা করতে চাই, আবার লিখতে চাই এবং পিএইচপি থেকে একটি পাইথন / জ্যাঙ্গো সেটআপে রূপান্তর করতে চাই। হোস্টিং সরবরাহকারী পরামর্শের জন্য উন্মুক্ত, তবে স্পষ্ট যে "পাইথন কী, বা এটি কীভাবে কাজ করে তা আমরা সত্যই জানি না, তবে আপনি যদি আমাদের এটি ব্যাখ্যা করতে পারেন তবে আমরা আপনাকে যা যা প্রয়োজন সেটাকে সেট আপ করার চেষ্টা করব" ।

যাইহোক, অ্যাপাচি / মোড_পাইথনে ভাগাভাগি করে হোস্টিং পরিবেশে জ্যাঙ্গো কীভাবে সেট আপ করতে হয় তা আমি জানি তবে এটি আইআইএস-এ কীভাবে সেট আপ করা হবে তা সম্পর্কে আমার কোনও ধারণা নেই, এবং কীভাবে এটি ভাগ করে নেওয়া হোস্টিং পরিবেশের জন্য কীভাবে সেট আপ করা হবে তা নয়। আমি কিছুটা গুগল করেছি, তবে বেশিরভাগ সংস্থানাই আমার মনে হয় যে সিসাদমিন ১) পাইথন / জ্যাঙ্গো এবং 2) তার সাইটের জন্য ডেডিকেটেড আইআইএস হোস্টিং ব্যবহার করছে।

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

উত্তর:


8

আপনি যদি আইআইএস ব্যবহার করে আটকে থাকেন তবে সিজিআইয়ের পরিবর্তে পাইআইএসপিআই ব্যবহার করুন যদি পারেন তবে। পাইআইএসপিআইয়ের নির্দেশনা এবং লিঙ্কগুলি নীচে রয়েছে। আপনার ওয়েব হোস্ট ISPI এক্সটেনশানগুলি সম্পর্কে জানতে পারবেন যদি তারা পাইথনের চেয়ে আইআইএস পরিচালনা করে থাকে এবং পাইথাপি দিয়ে পাইথন সম্পর্কে তাদের বেশি কিছু জানতে হবে না।

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

সিজিআই পরিবেশের মাধ্যমে আইআইএস + পাইথনে জ্যাঙ্গো সেট আপ করা কোনও উত্পাদন ব্যবহারের জন্য মারাত্মক ধীর হতে চলেছে। আপনি কখনও কোনও ওয়েবসাইটের জন্য এটি ব্যবহার করবেন না যেখানে আপনি প্রতি মিনিটে মুষ্টিমেয় অনুরোধের চেয়ে বেশি পরিষেবা প্রত্যাশা করছেন। জ্যাঙ্গোর অ্যাপ্লিকেশনটির প্রক্রিয়া প্রতিটি নতুন অনুরোধের সাথে পুনরায় চালু হওয়ার কারণে এটি জাঙ্গোর ক্যাচিং কাঠামোয় যা আপনি মেমরিতে ক্যাশে রাখতে পারবেন তাতে কঠোরভাবে সীমাবদ্ধ করে।

মোড_পিথনের সাথে অ্যাপাচি, লাইটটিপিডি ইত্যাদির মতো একটি বুদ্ধিমান ওয়েব সার্ভারে, জাঙ্গো প্রক্রিয়া চালিত পাইথন ইন্টারপ্রেটার স্মৃতিতে রয়ে গেছে এবং প্রতিটি নতুন অ্যাপাচি কর্মী থ্রেড দিয়ে শুরু করা হয় যা সময়ের সাথে সাথে অনেকগুলি অনুরোধ পরিচালনা করে। এর অর্থ হ'ল পাইথন + জ্যাঙ্গো প্রতিটি নতুন অনুরোধের জন্য বের হয় না এবং পুনরায় শুরু হয়। একটি ফাস্টসিজিআই সেটআপে, ওয়েব সার্ভার (উদাহরণস্বরূপ অ্যাপাচি বা লাইটটিপিডি) একটি সকেট তৈরি করে (ইউএনআইএক্স ডোমেন বা টিসিপি) যার মাধ্যমে এটি ফাস্টসিজিআই অ্যাপ্লিকেশন (আপনার জাজানো ওয়েব অ্যাপ্লিকেশন) এর সাথে যোগাযোগ করে যোগাযোগ করে দ্রুতগতি প্রোটোকলের মাধ্যমে। এইচটিটিপি প্রক্সি সেটআপগুলির জন্য ডিটো (তারা ফাস্টসিজিআইয়ের পরিবর্তে এইচটিটিপি কথা বলে)। একটি সিজিআই পরিবেশে, পাইথন ইন্টারপ্রেটার বলা হয় যা জ্যাঙ্গো অ্যাপ্লিকেশনটি চালায়, প্রতিটি অনুরোধের জন্য সম্পূর্ণ নতুনভাবে কাজ করে, সুতরাং অ্যাপ্লিকেশনটি মেমরির অনুরোধগুলিতে রাজ্য রাখতে পারে না এবং কোনও ডাটাবেসে সঠিকভাবে ক্যাশে করতে পারে না।

পর্যাপ্ত রেটিং, যদি আপনার অবশ্যই আইআইএস + সিজিআই + জ্যাঙ্গো ব্যবহার করা হয় তবে কীভাবে এই ভয়ঙ্কর ভয়ঙ্কর জিনিসটি সম্পন্ন করতে হবে তা এখানে: আপনার নিজের সিজিআই স্ক্রিপ্ট তৈরি করতে নিম্নলিখিত কোডটি ব্যবহার করুন যা আপনার জ্যাঙ্গো অ্যাপ্লিকেশনটি চালায় (এটি সিজিআই এবং ডাব্লুএসজিআইয়ের মধ্যে অনুবাদ করে)। আপনার জাঙ্গো অ্যাপ্লিকেশন এবং কোডটিতে এটি নির্দেশ করতে আপনাকে স্ক্রিপ্টটি কিছুটা সম্পাদনা করতে হবে। এটি সেই সিজিআই স্ক্রিপ্ট যা আপনার কাছে অনুরোধগুলি পাস করতে হবে need এর পরে, আপনাকে আপনার সিজিআই স্ক্রিপ্টে সমস্ত অনুরোধগুলি ফরোয়ার্ড / পুনর্লিখন করতে হবে ...

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


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

1

কীভাবে আইআইএস-তে ফাস্টসিজিআইতে পাইথন সেট আপ করবেন

এখানে কীভাবে ফাস্টসিজিআই আইআইএস 7+ তে পাইথন সেট আপ করবেন তা একটি सभ्य ডি জ্যাঙ্গো সেটআপের পথ উন্মুক্ত করে

... এবং আপনার পাইথন কোডটি আপনাকে পদক্ষেপে সক্রিয় করতে প্রক্রিয়ায় একটি ডিবাগারকে সক্ষম করতে সক্ষম হবে

এই উদাহরণটি আইআইএস পরিচালনার কনসোল ব্যবহার করে না তবে ফলাফলটি কনফিগারেশন ফাইলগুলির বিষয়বস্তু তালিকাভুক্ত করে

ধাপ 1

পাইথন + একটি ভাল ডিবাগার ইনস্টল করুন (এই উদাহরণটি উইংআইডিই ব্যবহার করে যা আমি একটি দুর্দান্ত সরঞ্জাম পেয়েছি) এই উদাহরণটি ফোল্ডারটি ধরে নিয়েছে সি: \ পাইথন 27

ধাপ ২

একটি ওয়েব ফোল্ডার তৈরি করুন, যেমন লোকালহোস্ট সি: \ ইনপটপ \ wwwroot \ মাইপাইথনফোল্ডার এবং এতে নিম্নলিখিত ওয়েবকনফিগ ফাইলটি রাখুন:

নোট | স্ক্রিপ্টে পাইপ চরিত্রপ্রসেসর নির্দেশিকা। এটি আইআইএস দ্বারা স্ক্রিপ্টটিকে একটি ফাস্টসিগি অ্যাপ্লিকেশনে ম্যাপ করার জন্য ব্যবহৃত হয় (পদক্ষেপ 3)। এটি নীচের 3 ধাপ থেকে পূর্ণপথ + পাইপ চরিত্র + আর্গুমেন্ট সেটিংস অক্ষর অনুসারে চরিত্রের সাথে মেলে।

ধাপ 3

সিটিতে অ্যাপ্লিকেশন হোস্টকনফিগ ফাইলটিতে: \ উইন্ডোজ \ system32 \ inetsrc \ কনফিগার ফোল্ডারে বিভাগটিতে নিম্নলিখিতটি রাখুন:

    <fastCgi>
        <application fullPath="c:\python27\python.exe" arguments="c:\python27\lib\mylib\myfcgi.py" monitorChangesTo="C:\Python27\Lib\r4a\r4afcgi.py" stderrMode="ReturnStdErrIn500" maxInstances="4" idleTimeout="300" activityTimeout="300" requestTimeout="90" instanceMaxRequests="200" protocol="NamedPipe" queueLength="1000" flushNamedPipe="true" rapidFailsPerMinute="10" />
    </fastCgi>

পদক্ষেপ 4

সিটিতে: \ পাইথন 27 \ লিব \ মেলিব \ মাইফসিজি.পি নীচের কোডটি লিখুন:

import wingdbstub

OS, io, sys ret = "পরিবেশ:। r \ n" os.en वातावरण.keys (): প্যারামের জন্য আরাম করুন: ret = ret + "% s =% s os r \ n"% (প্যারাম, os.en পরিবেশ [ প্যারাম]) ret = ret + "\ r \ n আরগস:" sys.argv ইন আরগের জন্য: ret = ret + আরগ হ্যান্ডেল = io.open ("সি: \ টেম্প \ myfcgi.log", 'ডাব্লুবি') হ্যান্ডেল.রাইট (ret) হ্যান্ডেল.ক্লোজ ()

পদক্ষেপ 5

আপনার সি: \ অস্থায়ী ফোল্ডারে আইওএসআর লেখার অধিকার রয়েছে তা নিশ্চিত করুন

পদক্ষেপ 6

আপনার সি: y পাইথন 27 \ লিব \ মেলিব \ ফোল্ডারে উইংডবস্টব.পি এবং উইংডিবগপউউ রাখুন। এটি উইন্ডাইডে ডিবাগিং সক্ষম করবে। এই ফাইলগুলি আপনার উইং ইনস্টলেশন সহ সরবরাহ করা হয়। দ্রষ্টব্য: যদি পাইথনকেও আপনার কোডটি উইংস্টাব.পিসিপিতে সংকলন করতে হয়, আইআইএসআর সেই ফোল্ডারে লেখার অধিকার প্রয়োজন কারণ আইআইএস দ্বারা পাইথন প্রক্রিয়া সেই অ্যাকাউন্টের অধীনে চালু করা হবে

পদক্ষেপ 6

উইংডিবি খুলুন এবং 'আমদানি ওএস, আইও, সিজ' লাইনে একটি ব্রেকপয়েন্ট সেট করুন

পদক্ষেপ 7

আপনার ব্রাউজারে হিট করুন http: // লোকালহোস্ট / মাইপাইথনফোল্ডার

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

পদক্ষেপ 8

সি: in টেম্পে লগফিল তৈরি হয়েছে তা যাচাই করুন। আপনি পদক্ষেপ 7 পেতে না পারলে এটিও কাজ করা উচিত

পদক্ষেপ 9

মনে রাখবেন যে এই পৃষ্ঠাটি ডিবাগারটিকে ট্রিগার করে তবে কোনও পৃষ্ঠা ওয়েব ব্রাউজারে ফিরিয়ে দেয় না। কিছু ব্যাকগ্রাউন্ড: ওয়েবসার্ভার তথাকথিত 'রেকর্ডস' এর মাধ্যমে ফাস্টসিগি যোগাযোগ করে। এর অর্থ হ'ল প্রতিটি একক ব্যবহারকারী-অনুরোধ একাধিক পৃথক 'রেকর্ডে' প্যাক করা আপনার অ্যাপ্লিকেশনটিতে আসে। প্রতিটি রেকর্ড এমন একটি ডেটা স্ট্রাকচার যা কোনও অনুরোধের সূচনা, ক্যোরিস্ট্রিং, পোস্ট ভেরিয়েবল ইত্যাদি সূচিত করে a একক অনুরোধে এই রেকর্ডগুলির আন-প্যাকিং এক ধরণের জটিল, এটি http: //www.fastcgi এর ফাস্টসিগি স্পেসিফিকেশন অনুসরণ করে .com / devkit / ডক / fcgi-spec.html # S1

সি: y পাইথন 27 \ লিব \ মেলিব \ মাইফসিগি.পি এর সামগ্রী হিসাবে আমি হেলিকোনটেক দ্বারা সরবরাহিত zoofcgi.py এর একটি অনুলিপি ফেলেছি। এই অজগর ফাইলটি এই রেকর্ডগুলি ডিকোড করতে এবং একটি পৃষ্ঠা পরিবেশন করতে সক্ষম এবং ডিবাগ করা বেশ আকর্ষণীয়। এছাড়াও নোট করুন যে হেলিকোনটেক বৈকল্পিকভাবে একটি dll সরবরাহ করে যা আইআইএস এবং zoofcgi.py এর মধ্যে বসে তবে এই dll কঠোরভাবে প্রয়োজনীয় নয়। আমি বিশ্বাস করি যে এটি এমএসএফ্ট সরবরাহ করে এমন ফাস্টসিজি বাস্তবায়নের কিছুটা উন্নত এবং জেনেরিক সংস্করণ প্রয়োগ করে। তবে আপনি যখন তাদের ডেল ব্যবহার করেন, যখন আপনি আপনার কোডের মাধ্যমে পদক্ষেপ নিতে চান তখন প্রক্রিয়াটি কেবল চুপচাপ বন্ধ হয়ে যায় এবং আইআইএস / ডিএলএল আপনার অজগর প্রক্রিয়াটি মেরে ফেলে যখন এটি শেষ হয় যে কোনও সেকেন্ড বা 2 এর মধ্যে কোনও প্রতিক্রিয়া ফিরে আসবে না।

এটাই. নীতিগতভাবে আইআইএস এবং আপনার পাইথন কোডের মধ্যে যোগাযোগ নামী পাইপ দিয়ে সম্পন্ন হয়। টিসিপি সকেট ব্যবহার করে আপনি এটি সেট আপ করতে সক্ষম হবেন তবে কোন পোর্টটি ব্যবহৃত হয়েছে তা আমি নির্ধারণ করতে সক্ষম হইনি (আমার বিশ্বাস স্টিডিনটি বন্দরে রূপান্তরিত হওয়া উচিত যা তখন নির্বাচিত হতে পারে)) তবে আমি তা দেয়নি কোন প্রচেষ্টা)


0

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

সম্পাদনা: ঠিক আছে, সুতরাং আইআইএসের সাথে নির্বিঘ্নে সংহতকরণ স্ক্র্যাচ করুন ... তবে, আইআইএসে কীভাবে সংহত করা যায় সে সম্পর্কে এখানে একটি নিবন্ধ দেওয়া আছে । আপনি উইন্ডোজ বাক্সের জন্য আয়রন পাইথনটিকে আপনার ডিস্ট্রো হিসাবে বিবেচনা করতে পারেন ।

সরবরাহকারীর জন্য, আমি সন্দেহ করব যে এএসপি / এএসপি.এনইটের মতো ওয়েব ডেভলপমেন্ট প্ল্যাটফর্মের চেয়ে তাদের আরও বেশি জানতে হবে এবং পাইথন এটির সাথে বিকাশের জন্য ব্যবহৃত ভাষা।

যতদূর আমি উপরে উল্লিখিত ইনস্টলেশন হিসাবে, আমি এটি চেষ্টা করে যাচ্ছি এবং এটি কীভাবে ভাড়া নেয় তা দেখতে যাচ্ছি। আমি যদি এটি ঠিকঠাকভাবে কাজ করি তবে আমি এটিতে নোট পোস্ট করব!

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