سؤال

وأنا ترغب في الحصول على بيثون بسيط "مرحبا العالم" النصي صفحة ويب لتعمل على ويندوز فيستا / أباتشي ولكن ضرب الجدران مختلفة. أنا باستخدام المزج. لقد قمت بتركيب mod_python ويظهر وحدة، لكنني لست متأكدا تماما ما أنا من المفترض القيام به في مثل http.conf (أشياء مثل AddHandler mod_python .py إما أحضر لي إلى ملف لم يتم العثور على أو ممنوع أو وحدة نمطية لم يتم العثور على أخطاء عند الوصول إلى <لأ href = "HTTP: //localhost/myfolder/index.py" يختلط = " noreferrer "> HTTP: //localhost/myfolder/index.py ). يمكنني الحصول mod_python.publisher للعمل ولكن لا أنا "تريد" هذا / في حاجة الى ذلك؟

ويمكن لأي شخص أن تساعد؟

وشكرا!

هل كانت مفيدة؟

المحلول

والابتعاد عن mod_python. فكرة واحدة مضللة شيوعا هو أن mod_python مثل mod_php، ولكن لالثعبان. هذا ليس صحيحا. WSGI هو المعيار لتشغيل تطبيقات الويب الثعبان، التي يحددها <لأ href = "http://www.python.org/ ديف / ممثلي المخاطر / الحماسي-0333 / "يختلط =" noreferrer "> PEP 333 . وذلك باستخدام mod_wsgi بدلا من ذلك.

وأو بدلا من ذلك، استخدم بعض إطار الشبكة التي تحتوي على الخادم. Cherrypy الصورة هو واحد بخاصه جيدة. سوف تكون قادرة على تشغيل التطبيق الخاص على حد سواء بذاتها أو من خلال mod_wsgi.

ومثال على تطبيق مرحبا العالم باستخدام cherrypy:

import cherrypy

class HelloWorld(object):
    def index(self):
        return "Hello World!"
    index.exposed = True

application = HelloWorld()
if __name__ == '__main__':
    cherrypy.engine.start()
    cherrypy.engine.block()

من السهل جدا هاه؟ سوف يعمل هذا التطبيق مباشرة على الثعبان بدء الويب. سوف تكوين mod_wsgi إليها جعلها تعمل داخل اباتشي.

نصائح أخرى

وأنت لا تحتاج mod_python لتشغيل التعليمات البرمجية بايثون على شبكة الإنترنت، هل يمكن استخدام البرمجة CGI بسيطة لتشغيل التعليمات البرمجية الثعبان الخاص بك، مع التعليمات في الرابط التالي: <لأ href = "http://www.imladris.com /Scripts/PythonForWindows.html "يختلط =" نوفولو noreferrer "> http://www.imladris.com/Scripts/PythonForWindows.html

وهذا يجب أن تعطيك بعض الخيارات التكوين تحتاج إلى تمكين بيثون مع CGI، والبحث جوجل يجب أن يوفر لك رزمة من غيرها من المعلومات حول كيفية البرنامج في ذلك، وعلى هذا الأساس.

وMod_python مفيد إذا كنت تريد أكثر قليلا "ودية" واجهة، أو المزيد من السيطرة على الطلب نفسه. يمكنك استخدامه لإنشاء مرشحات الطلب وغيرها من الامور لخادم أباتشي، ومع معالج الناشر تحصل على أبسط طريقة للتعامل مع طلبات صفحة ويب عن طريق الثعبان.

ومعالج الناشر يعمل عن طريق عناوين الخرائط إلى كائنات بيثون / وظائف. هذا يعني أنه يمكنك تحديد وظيفة اسمه 'فو' في ملف الثعبان الخاص بك، وأي طلب ل HTTP: // المضيف المحلي / فو سيدعو تلك الوظيفة تلقائيا. مزيد من المعلومات هنا: HTTP: // شبكة الاتصالات العالمية. modpython.org/live/current/doc-html/hand-pub-alg-trav.html

وأما عن التكوين أباتشي لجعل الأشياء تعمل، شيئا من هذا القبيل ينبغي أن تكون لكم التوفيق

<Directory /var/www/html/python/>
  SetHandler mod_python
  PythonHandler mod_python.publisher
  PythonDebug On
</Directory>

إذا كان لديك / فار / على شبكة الاتصالات العالمية / هتمل / اقامة كجذر خادم الويب الخاص بك والحصول على ملف يسمى index.py في بيثون / الدليل في هناك، ثم أي طلب ل<لأ href = "HTTP: // المضيف المحلي / الثعبان / فو "يختلط =" نوفولو noreferrer "> HTTP: // المضيف المحلي / الثعبان / فو يجب استدعاء الدالة فو () في index.py، أو فشل مع 404 إذا لم يكن موجودا

<اقتباس فقرة>   

وAddHandler mod_python .py

هل وضعت "PythonHandler؟

وهذه الأيام، والنظر في استخدام WSGI بدلا من واجهات وزارة الدفاع-الثعبان الأم لمزيد من خيارات النشر واسعة النطاق. سواء من خلال الدعم WSGI وزارة الدفاع، الثعبان، و، أو ربما أفضل، وزارة الدفاع، WSGI. (CGI عبر على سبيل المثال. وwsgiref أيضا العمل على ما يرام وسهلة للحصول على اقامة في بيئة تطوير حيث كنت لا تهتم حول أداء القمامة لها).

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top