1:虚拟主机介绍
虚拟主机是一种特殊的软硬件技术,它可以将网络上的每一台计算机分成多个虚拟主机,每个虚拟主机可以独立对外提供www服务,这样就可以实现一台主机对外提供多个web服务,每个虚拟主机之间是独立的,互不影响的。
虚拟主机技术是互联网服务器采用的节省服务器硬件成本的技术,虚拟主机技术主要应用于HTTP(HypertextTransferProtocol,超文本传输协议)服务,将一台服务器的某项或者全部服务内容逻辑划分为多个服务单位,对外表现为多个服务器,从而充分利用服务器硬件资源。
同样的端口不同的ip
2:Nginx的虚拟主机配置方式-->有三种
需求:
一台Linux服务器绑定两个ip:192.168.160.139、192.168.160.199访问不同的ip请求不同的html目录,即:
访问http://192.168.160.149将访问“html149”目录下的index.html网页访http://192.168.160.199将访问“html199”目录下的index.html网页
创建HTML目录:
在nginx下复制两个html文件夹并重命名为html139和html199
然后分别修改HTMl149中的index.html,加欢迎语句后加139的ip,在HTMl199中的index.html,加欢迎语句后加199的ip
Linux绑定多IP:
Linux操作系统允许绑定多IP。使用IP别名的方式,在一块物理网卡上可以绑定多个lP地址。这样就能够在使用单一网卡的同一个服务器上运行多个基于IP的虚拟主机。但是在绑定多IP时需要将动态的IP分配方式修改为静态的指定IP
将动态IP修改为静态IP:把系统的ip设置为静态的
cd /etc/sysconfig/network-scripts/ vim ifcfg-ens33
把里面的BOOTPROTO=none 改成static
复制一份文件,把名字改成ens33:1
把DEVICE改成ens33:1
把ip改了
重启系统reboot
再使用ifconfig查看,能看到有两个ip了
修改Nginx的配置文件完成 基于IP的虚拟主机配置 :
1:打开Nginx的配置文件nginx.conf
2:把原来的代理配置注释掉不然会占用端口冲突
#ip代理配置 server { listen 80; server_name 192.168.160.129; location / { root html29; index index.html index.htm; }
error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } } #ip代理配置 server { listen 80; server_name 192.168.160.199; location / { root html199; index index.html index.htm; }
error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } } |
代理实现在同一服务器上绑定不同的ip |
3:重启nginx:./nginx -s reloa
基于端口的虚拟主机配置方式:
Nginx对提供8080与9090两个端口的监听服务
请求8080端口则访问html8080目录下的index.html
请求9090端口则访问html9090目录下的index.html
1:创建HTML目录
2:修改Nginx的配置文件完成基于端口的虚拟主机配置
#基于不同的端口 #注意这里是ip地址相同但是端口号不同 #服务器1 server { listen 8080; server_name 192.168.160.149; location / { root html8080; index index.html index.htm; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } #服务器2 } server { listen 9090; server_name 192.168.160.149; location / { root html9090; index index.html index.htm; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } } |
3:重启nginx:./nginx -s reloa
基于域名的虚拟主机配置方式:
两个域名指向同一个nginx服务器,用户访问不同的域名时显示不同的内容。
域名规划案例:
www.abc149.com-->192.168.160.149
www.abc199.com-->192.168.160.199
在生成环境中,当购买了域名之后,这个域名有一个DNS解析的网页提供,用来绑定ip地址
1:创建HTML目录(在index.html下的标题头上加上域名用于区分)
2:修改windows的hosts文件配置域名与ip的映射
打开文件路径:C:\Windows\System32\drivers\etc中hosts文件
在C:\Windows\System32\drivers\etc目录下 用记事本打开hosts文件 然后重启nginx后,在浏览器中使用www.abc.com访问
|
3:修改Nginx的配置文件完成基于域名的虚拟主机配置
打开:nginx.conf
#基于域名配置虚拟机 server { listen 80; server_name www.abc.com; location / { root htmlabc; index index.html index.htm; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } } |
4:重启nginx:./nginx -s reloa