网络营销电子商务研究中心  
How to buy the best prescription safety glasses in Canada? Let's study!
Go Back   网络营销电子商务研究中心 > 网站建设 > 虚拟主机
User Name
Password
 
FAQ Members List Calendar Cheap Glasses

虚拟主机 讨论国内外虚拟主机技术。

Reply
 
Thread Tools Display Modes
  #1   IP: 114.238.68.57
Old 2014-06-20, 08:52 PM
Aliya Aliya is offline
初级会员
 
Join Date: 2010-06-10
Posts: 1
Aliya 现在声名狼藉
Default 用apache在本机配置多个基于ip的虚拟主机

己在做网站的时候总会遇到这样一个麻烦:如果同时在做2个或两个以上的网站,但是,默认的apache的配置是只有一个网站,这样的话,切换起来很不方便。其实这个问题很好解决,就是把本机的apache配置成为虚拟服务器。但是,网上大多数教程的是教用 apache如何配置基于域名的虚拟主机的,而在本机调试网站的时候,一般都是用本地ip(127.0.0.1 或 localhost)直接访问,没有用到域名。所以得把apache配置成为基于ip地址的虚拟主机才行。

首先,补充一点理论知识:(如果熟悉网络的话可以略过)
网络课告诉我们,所有以127打头的ip地址都应该指向本机,并不只有127.0.0.1,这点大家可以试试。
这样一来,也就是说本机有足够多的ip地址供你来开设虚拟主机了。

然后,进入正式的配置工作,下面是apache的httpd.conf里相关配置部分:
1、Listen部分,必须直接指定端口,不指定ip地址,配置应写为:
Listen 80
2、不用像基于域名的虚拟主机那样写“NameVirtualHost”。

3、虚拟主机配置段:
<VirtualHost 127.0.0.1:80>
DocumentRoot /path/to/your/first/virtual/host
ServerName 127.0.0.1:80
</VirtualHost>
<VirtualHost 127.0.0.2:80>
DocumentRoot /path/to/your/second/virtual/host
ServerName 127.0.0.2:80
</VirtualHost>
...

4、然后相应的配置好各个目录属性,下面是一个目录属性的典型配置:
<Directory "/path/to/your/first/virtual/host">
Options Indexes FollowSymLinks Multiviews
AllowOverride All
Order Allow,Deny
Allow from all
</Directory>

重启apache2以后,你的虚拟主机就配置好了,以后就可以通过127.0.0.1和127.0.0.2进入不同的站点了。

1.基于相同IP不同Port的虚拟主机
1)vi /etc/httpd/conf/httpd.conf  (建议使用nano或gedit等编辑器,下同)
2)将Listen字段改为
Listen 80
Listen 8080
(以上设置表示使用80以及8080端口,好像8888端口有冲突)
3)更改虚拟主机部分为:
<VirtualHost 192.168.0.1:80>
DocumentRoot /var/www/html/website1
</VirtualHost>
<VirtualHost 192.168.0.1:8080>
DocumentRoot /var/www/html/website2
</VirtualHost>
4)保存以上设置
5)创建目录以及页面文件:
#mkdir –p /var/www/html/website1
#mkdir –p /var/www/html/website2
#cd /var/www/html/website1
#cat >index.html <<EOF
>website1
>EOF
#cd /var/www/html/website2
#cat >index.html <<EOF
>website2
>EOF
(注:在/etc/httpd/conf/httpd.conf中有DirectoryIndex index.html index.html.var,表示只读index.html,而不读index.htm,切记)
6)service httpd restart
完成以上设置后,可以通过以下方式访问:
1)打开浏览器
2)输入http://192.168.0.1:80以及http://192.168.0.1:8080

2.基于相同Port不同IP的虚拟主机
1)不同IP地址的配置:
#cd /etc/sysconfig/network-scripts
#cp ifcfg-eth0 ifcfg-eth0:1
#vi ifcfg-eth0:1
将eth0:1更改为:
DEVICE=eth0:1
ONBOOT=YES
BOOTPROTO=static
IPADDR=192.168.0.2
NETMASK=255.255.255.0
2)service network restart
3)vi /etc/httpd/conf/httpd.conf
4)更改虚拟主机部分为:
<VirtualHost 192.168.0.1:80>
DocumentRoot /var/www/html/website1
</VirtualHost>
<VirtualHost 192.168.0.2:80>
DocumentRoot /var/www/html/website2
</VirtualHost>
5)创建目录以及页面文件:
#mkdir –p /var/www/html/website1
#mkdir –p /var/www/html/website2
#cd /var/www/html/website1
#cat >index.html <<EOF
>website1
>EOF
#cd /var/www/html/website2
#cat >index.html <<EOF
>website2
>EOF
完成以上设置后,可以通过以下方式访问:
1)打开浏览器
2)输入http://192.168.0.1:80以及http://192.168.0.2:80

3.基于域名的虚拟主机的访问
1)vi /etc/http/conf/httpd.conf
2)更改虚拟主机部分为:
NameVirtualHost 192.168.0.1
<VirtualHost www1.example.com>
DocumentRoot /var/www/html/website1
ServerName www1.example.com
</VirtualHost>
<VirtualHost www2.example.com>
DocumentRoot /var/www/html/website2
ServerName www2.example.com
</VirtualHost>
(注:以上设置中NameVirtualHost不可以省略)
3)创建目录以及页面文件:
#mkdir –p /var/www/html/website1
#mkdir –p /var/www/html/website2
#cd /var/www/html/website1
#cat >index.html <<EOF
>website1
>EOF
#cd /var/www/html/website2
#cat >index.html <<EOF
>website2
>EOF
4)完成以上设置后,可以通过以下方式访问:
1)打开浏览器
2)输入http://www1.example.com 以及 http://www2.example.com

注意:如果虚拟主机的目录不在“/var/www”下面,则需要关闭SELINUX,方法如下:
把/etc/selinux/config 中的
SELINUX=enforcing
改成
SELINUX=permissive
然后重启。
如果想立即生效,则执行:
# setenforce 0
命令就可以了
Reply With Quote
Reply


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Off
Smilies are On
[IMG] code is Off
HTML code is Off

Forum Jump

Prescription-glasses.com offers prescription glasses online at discount prices.
All times are GMT +8. The time now is 10:58 AM.


Powered by vBulletin Version 3.8.7
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.