Nginx是常用的java服务器之一,是否学好Nginx关系到整个java语言的学习,如果能全面掌握Nginx的配置与使用和不同企业应用场景,并能将这些技巧使用到实际的工作中,将会全面提高自己的java编程水平。今天这篇文章为大家介绍Nginx虚拟主机的概念是什么,以及Nginx虚拟主机的分类。
先来对Nginx虚拟主机的定义做一个简单的介绍。虚拟主机,就是Nginx提供虚拟主机的功能,就是为了让我们不需要安装多个Nginx,就可以运行多个网站,它可以将网络上的每一台计算机分成多个虚拟主机,每个虚拟主机可以独立对外提供 www服务,这样就可以实现一台主机对外提供多个web服务,每个虚拟主机之间是独立互不影响的。简单来说,虚拟主机就是把一台物理服务器划分成多个“虚拟”的服务器,这样就可以实现一台物理服务器当做多个服务器来使用,从而可以配置多个网站。
通过Nginx可以实现虚拟主机的配置,Nginx支持三种类型的虚拟主机配置,分别是:基于IP的虚拟主机;基于域名的虚拟主机;基于端口的虚拟主机。常见的Nginx虚拟主机类型详解如下:
(1)基于IP的虚拟主机。所谓基于IP的虚拟主机,意思就是通过不同的IP区分不同的虚拟主机,此类虚拟主机对应的企业应用非常少见,一般不同业务需要使用多IP的常见都会在负载均衡器上进行VIP绑定,而不是在Web上通过绑定IP区分不同的虚拟机。
(2)Nginx基于域名的虚拟主机。基于域名的虚拟主机是最常见的一种虚拟主机,所谓基于域名的虚拟主机,意思就是通过不同的域名区分不通的虚拟主机,基于域名的虚拟主机是企业应用最广的虚拟主机类型,几乎所有对外提供服务的网站都是使用基于域名的虚拟主机。
server {
listen 80;
server_name www.myweb.com;
location /myweb {
proxy_pass http://www.myweb.com;
}
}
需要修改一下本地的hosts文件,文件位置:
C:\Windows\System32\drivers\etc\hosts
在hosts文件配置:192.168.208.128 www.myweb.com。前面是Linux的IP,后面是自定义的域名。
(3)Nginx基于端口的虚拟主机。所谓基于域名的虚拟主机,意思就是通过不同的域名区分不通的虚拟主机,基于域名的虚拟主机是企业应用最广的虚拟主机类型,几乎所有对外提供服务的网站都是使用基于域名的虚拟主机
基于端口的虚拟主机配置,使用端口来区分;
浏览器使用 同一个域名+端口 或 同一个ip地址+端口访问;
server {
listen 8080;
server_name www.myweb.com;
location /myweb {
proxy_pass http://www.myweb.com;
}
}
server {
listen 9090;
server_name www.myweb.com;
location /p2p {
proxy_pass http://www.p2p.com;
}
}
在Nginx服务器下,一个server标签就是一个虚拟主机。当只有一个服务器,所有的请求转发到同一个端口;当有多个服务器时,这些服务器对应的监听不同的端口,则请求根据配置转发到指定的端口,虚拟主机的作用真正发挥。所以Nginx虚拟主机的概念和相关配置内容的学习还是十分重要的,希望这篇文章对Nginx虚拟主机的概念及虚拟主机配置的介绍,对于各位java程序员和想学习Nginx的朋友们有所帮助的。
达芬奇09-04 11:00
军哥07-29 17:02
Code大师09-01 16:01
Code大师09-04 10:18
蛙课视频小助手08-04 16:45