تشغيل Apache جنبًا إلى جنب مع خادم ويب آخر؟

StackOverflow https://stackoverflow.com/questions/23715

  •  09-06-2019
  •  | 
  •  

سؤال

هل حقق أي شخص أي نجاح في تشغيل خادمي ويب مختلفين - مثل Apache وCherryPy - جنبًا إلى جنب على نفس الجهاز؟أقوم حاليًا بإجراء تجارب مع خوادم ويب أخرى، وأود أن أرى ما إذا كان بإمكاني إجراء تجاربي مع الحفاظ على تشغيل مواقعي الأخرى.يمكنك القول أن هذا ليس سؤالًا يتعلق ببرنامج محدد بقدر ما هو سؤال عام يتعلق بالشبكات.

  • أعلم أنه من الممكن تشغيل خادمي ويب على منافذ مختلفة؛ولكن هل هناك أي طريقة لتكوينها حتى تتمكن من العمل على نفس المنفذ (أي أن كلاهما يعمل على المنفذ 80)؟
  • خوادم الويب سوف لا أن تخدم الملفات من نفس المجالات.على سبيل المثال، قد يقدم Apache المستندات من foo.domain.com، وسيخدم خادم الويب الآخر من bar.domain.com.

أعلم أن هذا ليس التكوين المثالي.أود فقط أن أرى ما إذا كان من الممكن فعل ذلك قبل أن أركض بسرعة في جحر الأرانب.:)

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

المحلول

لا يمكن ربط عمليتين بنفس المنفذ على نفس عنوان IP.يمكنك إضافة عنوان IP آخر إلى المربع وجعل كل خادم يستمع إليه.

هناك خيار آخر وهو تمرير الخادم الوكيل إلى خادم آخر.باستخدام Apache، يمكنك القيام بشيء مثل:

NameVirtualHost *
<virtualhost *>
  ServerName other.site.com

  # assumes CherryPy listens on port 8080
  ProxyPass / http://127.0.0.1:8080/
  ProxyPassReverse / http://127.0.0.1:8080/
</Virtualhost>

هذا مثال سريع جدًا، ولكن يمكنك دائمًا التحقق من ذلك وثائق ProxyPass.تذكر رغم ذلك أن التطبيق الذي يتم إنشاء وكيل له سيحصل على 127.0.0.1 في سجلاته بدلاً من عنوان IP الخاص بالطالب.بعض خوادم الويب (يعمل Apache مع mod_rpaf) يمكنه استبدال رأس X-Forwarded-For بدلاً من عنوان IP الخاطئ.ربما CherryPy لديه هذا؟

نصائح أخرى

أفضل رهان لك هو وضع Apache httpd أمام المنفذ 80 وترحيل الطلبات المخصصة للخوادم الأخرى من خلال Apache باستخدام الوحدات النمطية.السيناريو الأكثر شيوعًا هو Tomcat خلف Apache حيث ستتمكن من تشغيل تطبيقات php وjsp.

أنا لست على دراية بـ CherryPy، لذلك لا يمكنني إلا أن أقترح عليك البحث عن وحدة Apache لـ CherryPy.

يحرر:هذا يبدو واعدا: http://tools.cherrypy.org/wiki/BehindApache

وبدلاً من ذلك، بالنسبة لإجابة إسماعيل الصحيحة، إذا كان لديك خادم يحتوي على بطاقتي شبكة، فيمكنك جعل كل خادم يجيب على طلباته على عناوين IP مختلفة.

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