जवाबों:
मुझे लगता है कि यह वही हो सकता है जो आप http://wiki.apache.org/httpd/RunningMultipleApacheststances देख रहे हैं
उपरोक्त लिंक में सामग्री के संदर्भ के लिए
1) अपने सर्वर पर अपाचे स्थापित करें
sudo apt-get install apache2
sudo apt-get install libapache2-mod-perl2
sudo apt-get install other-lib-mods-needed
2) आप चलाना चाहते हैं प्रत्येक उदाहरण के लिए अलग अपाचे विन्यास कॉन्फ़िगर करें
उबंटू के लिए, यह एक अलग पोर्ट पर सुनने के लिए आवश्यक प्रत्येक उदाहरण के लिए / etc / apache2 में होना चाहिए।
# httpd-proxy.conf
Listen 80
ErrorLog /var/log/httpd-proxy-error.log
LoadModule proxy_module libexec/apache22/mod_proxy.so
LoadModule proxy_http_module libexec/apache22/mod_proxy_http.so
# httpd-perl.conf
Listen 81
ErrorLog /var/log/httpd-perl-error.log
LoadModule perl_module libexec/apache22/mod_perl.so
# httpd-python.conf
Listen 82
ErrorLog /var/log/httpd-python-error.log
LoadModule python_module libexec/apache22/mod_python.so
# httpd-php.conf
Listen 83
ErrorLog /var/log/httpd-php-error.log
LoadModule php5_module libexec/apache22/libphp5.so
इस उदाहरण में, 4 अलग-अलग उदाहरण चल रहे होंगे, प्रत्येक एक अलग मॉड्यूल प्रकार प्रसंस्करण, अर्थात् एक पर्ल के लिए, एक पायथन के लिए, आदि।
अब, आपको प्रॉक्सी होस्ट में वर्चुअल होस्ट को कॉन्फ़िगर करने की भी आवश्यकता है, ताकि जब भी कोई तोड़फोड़ डीएवी सर्वर के लिए अनुरोध आए, तो यह आपके 'पाइथन-डीएवी' अपाचे पर पारित हो जाए, जबकि आपके वर्डप्रेस ब्लॉग के अनुरोध आपके लिए पारित हो जाते हैं। php 'अपाचे उदाहरण। आइए 'httpd -xy.conf' को फिर से संपादित करें:
# httpd-proxy.conf
NameVirtualHost *:80
<VirtualHost *:80>
DocumentRoot /www/wordpress
ServerName blog.company.com
ProxyPass / http://localhost:83/
ProxyPassReverse / http://localhost:83/
[... additional directives here ... ]
</VirtualHost>
<VirtualHost *:80>
DocumentRoot /www/svn
ServerName svn.company.com
ProxyPass / http://localhost:82/
ProxyPassReverse / http://localhost:82/
[... additional directives here ... ]
</VirtualHost>
# you get the idea ...
2 बी) सब कुछ का परीक्षण करें इसलिए हम कॉन्फ़िगरेशन के साथ समाप्त हो गए हैं, और अब हमें सभी एपाचे इंस्टेंस लॉन्च करने की आवश्यकता है, और परीक्षण करें कि सब कुछ अपेक्षित रूप से काम कर रहा है। बेशक आप 'अपाचेक्टल' का उपयोग करके ऐसा कर सकते हैं, जैसे
/usr/local/sbin/apachectl -f /usr/local/etc/apache22/proxy-httpd.conf configtest
/usr/local/sbin/apachectl -f /usr/local/etc/apache22/proxy-httpd.conf start
/usr/local/sbin/apachectl -f /usr/local/etc/apache22/perl-httpd.conf configtest
/usr/local/sbin/apachectl -f /usr/local/etc/apache22/perl-httpd.conf start
# and so on ...
3) उपयुक्त स्क्रिप्ट फ़ाइल के साथ अपाचे शुरू करने के लिए init स्क्रिप्ट कॉन्फ़िगर करें
लिंक किए गए संसाधन में इसके लिए rc.conf फ़ाइल को संपादित करने पर अधिक विवरण है लेकिन विशेष रूप से उबंटू से निपटने के लिए स्पर्श करता है इसलिए मैं इन दोनों वर्गों को नीचे हाइलाइट करूंगा।
FreeBSD में '/etc/rc.conf' सिस्टम कॉन्फ़िगरेशन> जानकारी युक्त मास्टर फ़ाइल है। यह फ़ाइल कर्नेल को बूट करने के बाद पढ़ी जाती है, और सेवाओं को लॉन्च करने के लिए कार्य करती है,> डेमोंस, नेटवर्क इंटरफेस सेट करती है, आदि। हमारे नुस्खा के लिए हम एपाचे को सक्षम कर पाएंगे> सर्वर, उपलब्ध इंस्टेंस (प्रोफाइल), उनकी कॉन्फ़िगरेशन फ़ाइलों को सूचीबद्ध करते हुए, और > फ्रीबीएसडी बता रहा है कि सिस्टम को बूट करने के बाद इनमें से कौन सा रन (सक्षम) होना चाहिए।
# /etc/rc.conf
apache22_enable="YES"
apache22_profiles="proxy perl python php"
# the apache proxy instance
apache22_proxy_configfile="/usr/local/etc/apache22/httpd-proxy.conf"
apache22_proxy_enable="YES"
# the apache perl instance
apache22_perl_configfile="/usr/local/etc/apache22/httpd-perl.conf"
apache22_perl_enable="YES"
# the apache python instance
apache22_python_configfile="/usr/local/etc/apache22/httpd-python.conf"
apache22_python_enable="YES"
# the apache php instance
apache22_php_configfile="/usr/local/etc/apache22/httpd-php.conf"
apache22_php_enable="YES"
जब इन प्रोफाइल को /etc/rc.conf में कॉन्फ़िगर किया गया है, और सक्षम किया गया है, तो सिस्टम को सफलतापूर्वक बूट करने के बाद उन्हें शुरू किया जाएगा। यदि आप एक प्रोफ़ाइल घोषित करना चाहते हैं, लेकिन आप केवल चाहते हैं> इसी अपाचे उदाहरण को मैन्युअल रूप से शुरू करने के लिए, आप बस '/etc/rc.conf' को संपादित कर सकते हैं और कह सकते हैं, जैसे:
# the apache php instance
apache22_php_configfile="/usr/local/etc/apache22/httpd-php.conf"
apache22_php_enable="NO"
बाद में, आप किसी भी अपाचे उदाहरण को केवल प्रोफ़ाइल नाम> (प्रॉक्सी, पर्ल, पायथन, php) का उपयोग करके शुरू / बंद कर सकते हैं, जैसे:
/usr/local/etc/rc.d/apache22 start php
/usr/local/etc/rc.d/apache22 stop perl
...
उबंटू के लिए 3 बी)
मुझे यकीन नहीं है कि यह इसी तरह (और दर्द रहित) होगा जैसा कि FreeBSD के मामले में है (ऊपर rconconf पर अनुभाग देखें)। FreeBSD में अपाचे पोर्ट के साथ स्थापित अपाचे आरसी स्क्रिप्ट अब वर्षों से विभिन्न प्रोफाइल की संभावना से अवगत हैं।
हाल ही में, उबंटू / डेबियन इनिट स्क्रिप्ट (जैसे /etc/init.d/apache2) अपाचे के कई उदाहरणों (जैसे कई कॉन्फ़िगरेशन, नाम / आदि / एपाचे 2- $ SUFFIX) का समर्थन करने के लिए अद्यतन किया गया है। उबंटू / डेबियन की रिहाई के आधार पर आप जो प्रयोग कर रहे हैं वह भाग्यशाली हो सकता है ... या नहीं।
यह फीचर फरवरी 2010 में 2.2.14-6 संस्करण में डेबियन में दिखाई दिया: http://lists.alioth.debian.org/pipermail/pkg-apache-commits/2010-Febdays/000295.html
उबंटू में, मावरिक (10.10) में अपाचे 2 पैकेज में ये पैच हैं: http://changelogs.ubuntu.com/changelogs/pool/main/a/apache2/apache2_2.2.16-1ubb3.1/changelog
हालाँकि ल्युसिड (10.04, लॉन्ग टर्म सपोर्ट रिलीज़) अपाचे 2 जाहिरा तौर पर नहीं है: http://changelogs.ubuntu.com/changelogs/pool/main/a/apache2/apache2_2.2.14-5ubuntu4.4/changelog
दस्तावेज़ीकरण /usr/share/doc/apache2/README.multiple-instances में पाया जा सकता है
अपने विस्तृत जवाब के लिए धन्यवाद, लेकिन बाद में मैं इस लिंक मिल गया http://someofmylearnings.wordpress.com/2011/07/02/multiple-apache2-instances-on-ubuntu/ प्रक्रिया इस बहुत ही सरल में दिखाया गया है।
जब हम अपाचे को स्थापित करते हैं, तो एक /usr/share/doc/apache2.2-common/README.multiple-instances
फ़ाइल होती है, जो आपको एक विचार देती है कि अपाचे उदाहरण बनाने के लिए वास्तव में क्या करने की आवश्यकता है।
उसी निर्देशिका के अंदर एक निर्देशिका होती है examples
जिसमें एक स्क्रिप्ट होती है जिसका नाम setup-instance
हम एक अपाचे उदाहरण बनाने के लिए उपयोग कर सकते हैं। इसलिए, एक और अपाचे उदाहरण बनाने के लिए जो करना है वह है:
sh /usr/share/doc/apache2.2-common/examples/setup-instance web-server1
जहाँ web-server1
एक प्रत्यय है। यही है, यह आपके उदाहरण के लिए डिफ़ॉल्ट रूप से "apache2-" जोड़ता है।
यह एक नई डायरेक्टरी बनाएगा /etc/apache-web-server1
जिसमें सभी कॉन्फिग फाइल हैं। यह भी बनाएगा /etc/init.d/apache-web-server1
जिसका उपयोग आप नए अपाचे उदाहरण को शुरू करने के लिए कर सकते हैं।