apache-实战(二)


Apache

虚拟主机 --用apache或nginx就可以做

一台服务器跑多台web服务

VPS virtual private server 虚拟专用服务器 --使用虚拟化技术来做

云服务器

虚拟主机(用web服务器来做)--》 VPS (虚拟化) --》 云服务器 (云计算)

使用虚拟化技术(vitural sever 或者 vmware EXS server )把一台服务器分隔成几个服务器,每个都拥有独立的CPU资源,内存资源,磁盘资源,独立IP等、

 


mkdir -p /var/www/html/A
mkdir -p /var/www/html/B

 1.基于IP的虚拟主机

NameVirtualHost *:80

<VirtualHost *:80>
DocumentRoot /var/www/html/A
ServerName 192.168.1.1
ErrorLog logs/1-error_log
CustomLog logs/1-access_log common
</VirtualHost>

<VirtualHost *:80>
DocumentRoot /var/www/html/B
ServerName 192.168.1.2
ErrorLog logs/2-error_log
CustomLog logs/2-access_log common
</VirtualHost>

# ifconfig eth0:0 192.168.1.12 netmask 255.255.255.0   将上面虚拟主机中使用的ip都虚拟出来

验证:
http://192.168.1.1
http://192.168.1.2   --实际情况每个IP使用DNS对应自己的域名、

 

2.基于端口的虚拟主机

Listen 80

Listen 8080

<VirtualHost *:80>
DocumentRoot /var/www/html/A
ServerName 192.168.1.1
ErrorLog logs/1-error_log
CustomLog logs/1-access_log common
</VirtualHost>

<VirtualHost *:8080>
DocumentRoot /var/www/html/B
ServerName 192.168.1.1
ErrorLog logs/2-error_log
CustomLog logs/2-access_log common
</VirtualHost>

#重启并验证

 

3.基于域名的虚拟主机

这里可以用hosts文件,也可以用bind服务,不会bind的看一下我前面的bind搭建

 

NameVirtualHost *:80
<VirtualHost *:80>
DocumentRoot /var/www/html/A
ServerName aaa.http.com
ErrorLog logs/1-error_log
CustomLog logs/1-access_log common
</VirtualHost>
<VirtualHost *:80>
DocumentRoot /var/www/html/B
ServerName bbb.http.com
ErrorLog logs/2-error_log
CustomLog logs/2-access_log common
</VirtualHost>

 

#重启并验证

 

#####思考#####

1.上面两个域名,那么我直接用IP是能否访问,访问的是哪一个?为什么?
    答案:哪个虚拟主机在最前面,直接使用IP访问的就是哪一个


2.配置了虚拟主机后,那么我原来的DocumentRoot里指的原网站家目录是否还可用?
如果不可用,如何解决?

    答案:不能用。除非再为原家目录再建立一个虚拟主机

3.上面这三种各有什么优缺点?
    基于IP:浪费IP
    基于端口:访问时需要加端口,客户不可能记端口的
    基于域名:比较适合外网直接访问

 

 


 

posted @ 2017-12-16 21:43  qwerdf六连  阅读(183)  评论(0编辑  收藏  举报