下面这两篇东西可能对你有帮助:
Apache中一个ip多端口多站点的例子
作者:pearlite
我来完善Apache中一个ip多端口多站点的例子,嘿嘿
pearlite 发表于 2002-9-13 16:51 PHP
#配置httpd.conf
listen 127.0.0.1:3838
listen 127.0.0.1:38438
<VirtualHost 127.0.0.1:3838>
DocumentRoot "c:/www.abc.net"
ServerName www.abc.net
ServerAdmin
[email protected]
ErrorLog logs/www.abc.net-error_log
CustomLog logs/www.abc.net-access_log common
ScriptAlias /cgi-bin/ "c:/www.abc.net/cgi-bin/"
<Directory "c:/www.abc.net/cgi-bin">
Options None
AllowOverride None
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
<VirtualHost 127.0.0.1:38438>
DocumentRoot "c:/www.abc.com"
ServerName www.abc.com
ServerAdmin
[email protected]
ErrorLog logs/www.abc.com-error_log
CustomLog logs/www.abc.com-access_log common
ScriptAlias /cgi-bin/ "c:/www.abc.com/cgi-bin/"
<Directory "c:/www.abc.com/cgi-bin">
Options None
AllowOverride None
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
那么就可以访问以下网址了
http://www.abc.net:3838/
http://www.abc.com:38438/
实现Apache虚拟主机的两种方案
zhoumi666 发表于 8/19/2002 5:13:43 PM 走进LINUX
这里说的虚拟主机是指在一台机器上仅运行一个httpd后台程序支持多个Apache服务器,如在公司财务部门有一台web服务器,名为 account.yourdomain.com,同时又想为sales部门建立网站,网站内容也放在该机器上,通过 sales.yourdomain.com访问,这就要用到虚拟主机设置。设置Apache虚拟主机通常有两种方案一、基于IP的虚拟主机 这种方式需要在机器上设置IP别名,象上面的例子,在一台机器的网卡上绑定多个IP地址去服务多个虚拟主机。 若该机器的IP地址为192.168.11.2(account.yourdomain.com),首先你要设置IP别名(假设用 192.168.11.4作为其别名IP)。加下面的行到/etc/rc.d/rc.local,确保每次启动后自动运行。 #/sbin/ifconfig eth0:0 192.168.11.4 netmask 255.255.255.0 broadcast/192.168.11.255up#/sbin/route add -host 192.168.11.4 eth0:0然后你需要设置/etd/httpd/conf/httpd.conf文件:ServerAdmin
[email protected] /home/httpd/sales.yourdomain.com ServerName sales.yourdomain.comErrorLog /var/log/httpd/sales.yourdomain.com/error_logTransferLog /var/log/httpd/sales.yourdomain.com/access_log 然后分别创建目录/home/httpd/sales.yourdomain.com, /var/log/httpd/sales.yourdomain.com放相应的网站内容到目录 /home/httpd/sales.yourdomain.com下即可,并确保你内部的DNS指定sales.yourdomain.com的记录到 IP地址192.168.11.4 。注:这种基于IP的虚拟主机有一个缺点,就是你需要更多的IP地址去服务各自的虚拟主机,如果你仅仅有一个IP地址,那么你将可以考虑用基于名字的虚拟主机方案。
二、基于名字的虚拟主机:
它的优势就是不需要更多的IP地址,容易配置,不需要其它软硬件,现代的
浏览器大多都支持这种方式。与基于IP的虚拟主机一样,你需要编辑文件
/etc/httpd/conf/httpd.conf
NameVirtualHost 192.168.11.2
ServerAdmin
[email protected]
DocumentRoot /home/httpd/sales.yourdomain.com
ServerName sales.yourdomain.com
ErrorLog /var/log/httpd/sales.yourdomain.com/error_log
TransferLog /var/log/httpd/sales.yourdomain.com/access_log
ServerAdmin
[email protected]
DocumentRoot /home/httpd/hr.yourdomain.com
ServerName hr.yourdomain.com
ErrorLog /var/log/httpd/hr.yourdomain.com/error_log
TransferLog /var/log/hr.yourdomain.com/access_log
注: 你需要加NameVirtualHost 指示在最前面,下面依次为各个虚拟主机,
为了让它工作,你需要把sales.yourdomain.com, hr.yourdomain.com的DNS
都指向IP地址192.168.11.2
上面的两种都将工作,如果是在外部网段,在互联网上提供WWW服务,你可能
没有足够的真实IP地址来支持多个虚拟主机,便可用基于名字的虚拟主机方案,
若是在内部网段上,你有较多的内部保留IP地址,将没有太大的区别。