Câu trả lời:
Tôi nghĩ rằng đây có thể là những gì bạn đang tìm kiếm http://wiki.apache.org/httpd/RastyMult MônApacheInstances
Để tham khảo nội dung trong liên kết trên
1) Cài đặt Apache trên máy chủ của bạn
sudo apt-get install apache2
sudo apt-get install libapache2-mod-perl2
sudo apt-get install other-lib-mods-needed
2) Định cấu hình các cấu hình apache riêng cho từng phiên bản bạn muốn chạy
Đối với Ubuntu, điều này nên có trong / etc / apache2 Về cơ bản cho từng trường hợp bạn cần nghe trên một cổng khác nhau.
# 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
Trong ví dụ này, sẽ có 4 trường hợp khác nhau đang chạy, mỗi trường hợp xử lý một loại mô-đun khác nhau, tức là một cho perl, một cho python, v.v.
Bây giờ, bạn cũng cần định cấu hình máy chủ ảo trong phiên bản proxy, để bất cứ khi nào có yêu cầu đến máy chủ DAV lật đổ, nó sẽ được chuyển đến apache 'python-dav' của bạn, trong khi các yêu cầu cho blog wordpress của bạn được chuyển đến ' Ví dụ apache của php. Hãy chỉnh sửa lại 'httpd-proxy.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 ...
2b) kiểm tra mọi thứ Vì vậy, chúng tôi đã hoàn tất cấu hình và bây giờ chúng tôi cần khởi chạy tất cả các phiên bản apache và kiểm tra xem mọi thứ có hoạt động như mong đợi không. Tất nhiên bạn có thể làm điều này bằng cách sử dụng 'apachectl', vd
/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) Định cấu hình tập lệnh init để bắt đầu apache với tệp cấu hình phù hợp
Tài nguyên được liên kết có nhiều chi tiết hơn về chỉnh sửa tệp RC.conf cho việc này nhưng đặc biệt là liên quan đến việc xử lý Ubuntu, vì vậy cả hai phần này tôi sẽ nhấn mạnh bên dưới.
'/Etc/rc.conf' trong FreeBSD là tệp chính chứa thông tin cấu hình hệ thống>. Tệp này được đọc sau khi khởi động kernel và phục vụ để khởi chạy các dịch vụ,> trình nền, thiết lập giao diện mạng, v.v. > thông báo cho FreeBSD những thứ này cần được chạy (kích hoạt) sau khi khởi động hệ thống.
# /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"
Khi các cấu hình này được định cấu hình trong /etc/rc.conf và được bật, chúng sẽ được khởi động> sau khi khởi động thành công hệ thống. Nếu bạn muốn khai báo một hồ sơ nhưng bạn chỉ muốn> bắt đầu cá thể apache tương ứng theo cách thủ công, bạn chỉ cần chỉnh sửa '/etc/rc.conf' và> say, ví dụ:
# the apache php instance
apache22_php_configfile="/usr/local/etc/apache22/httpd-php.conf"
apache22_php_enable="NO"
Sau đó, bạn có thể bắt đầu / dừng bất kỳ trường hợp apache nào bằng tay chỉ bằng tên hồ sơ> (proxy, perl, python, php), như thế này:
/usr/local/etc/rc.d/apache22 start php
/usr/local/etc/rc.d/apache22 stop perl
...
3b) cho Ubuntu
Tôi không chắc chắn điều này sẽ tương tự (và không gây đau đớn) như trong trường hợp FreeBSD (xem phần trên RC.conf ở trên). Các tập lệnh RC apache được cài đặt với cổng apache trong FreeBSD đã nhận thức được khả năng của các cấu hình khác nhau trong nhiều năm nay.
Gần đây, các tập lệnh init Ubuntu / Debian (ví dụ /etc/init.d/apache2) đã được cập nhật để hỗ trợ nhiều phiên bản apache (ví dụ: nhiều cấu hình, được đặt tên / etc / apache2- $ SUFFIX). Tùy thuộc vào việc phát hành Ubuntu / Debian mà bạn đang sử dụng, bạn có thể may mắn ... hoặc không.
Tính năng này đã xuất hiện trong Debian trong phiên bản 2.2.14-6 vào tháng 2 năm 2010: http://lists.alioth.debian.org/pipermail/pkg-apache-commits/2010-F/2/000295.html
Trong Ubuntu, các gói apache2 trong Maverick (10.10) có chứa các bản vá này: http : //changelogs.ub Ubuntu.com/changelogs/pool/main/a/apache2/apache2_2.2.16-1ubfox3.1/changelog
Tuy nhiên, apache2 (10.04, Phát hành hỗ trợ dài hạn) dường như không: http://changelogs.ubfox.com/changelogs/pool/main/a/apache2/apache2_2.2.14-5ubfox8.4/changelog
Tài liệu có thể được tìm thấy trong /usr/share/doc/apache2/README.multipl-instances
Cảm ơn câu trả lời chi tiết của bạn nhưng sau đó tôi đã tìm thấy liên kết này http://someofmylearnings.wordpress.com/2011/07/02/multipl-apache2-instances-on-ub Ubuntu / Thủ tục hiển thị trong điều này rất đơn giản.
Khi chúng tôi cài đặt Apache, có một /usr/share/doc/apache2.2-common/README.multiple-instances
tệp mà bạn đưa ra ý tưởng về chính xác những gì cần phải được thực hiện để tạo một cá thể Apache.
Trong cùng một thư mục có một examples
thư mục chứa một tập lệnh có tên setup-instance
mà chúng ta có thể sử dụng để tạo một cá thể Apache. Vì vậy, để tạo một cá thể Apache khác, tất cả những gì cần làm là:
sh /usr/share/doc/apache2.2-common/examples/setup-instance web-server1
nơi web-server1
là một hậu tố. Đó là, nó gắn thêm apache2- nghiêm trọng theo mặc định vào tên dụ của bạn.
Điều đó sẽ tạo một thư mục mới /etc/apache-web-server1
chứa tất cả các tệp cấu hình. Nó cũng sẽ tạo ra /etc/init.d/apache-web-server1
cái mà bạn có thể sử dụng để bắt đầu cá thể Apache mới.