Nginx虚拟主机配置

释放双眼,带上耳机,听听看~!

一、Nginx的应用概述

Nginx作为一款高性能的http 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。主要有以下3方面的应用:

1、http服务器

Nginx是一个http服务可以独立提供http服务。可以做网页静态服务器。

2、虚拟主机

可以实现在一台服务器虚拟出多个网站。例如个人网站使用的虚拟主机。

3、反向代理,负载均衡

当网站的访问量达到一定程度后,单台服务器不能满足用户的请求时,需要用多台服务器集群可以使用nginx做反向代理。并且多台服务器可以平均分担负载,不会因为某台服务器负载高宕机而某台服务器闲置的情况。

二、什么是虚拟主机

虚拟主机使用的是特殊的软硬件技术,它把一台服务器主机分成一台台“虚拟”的主机,每台虚拟主机都可以具有独立的域名,具有完整的Intemet服务器功能(WWW、FTP、Email等),同一台主机上的虚拟主机之间是完全独立的。从网站访问者来看,每一台虚拟主机和一台独立的主机完全一样。

利用虚拟主机,不必为每个要运行的网站提供一台单独的Nginx服务器或单独运行一组Nginx进程。虚拟主机提供了在同一台服务器、同一组Nginx进程上运行多个网站的功能。

可以实现在同一台服务器上运行多个网站,并且网站之间相互独立各不干扰。

三、Nginx基于域名的虚拟主机配置

Last but not least,基于域名的虚拟主机应用相对于前两者是更常用,一般情况都是使用域名对网站进行访问,很少有直接输入该网站的服务器IP。nginx基于域名的虚拟主机配置

1、首先设置host文件,指定IP对应的域名,使得原本需要通过DNS服务器去解析域名所对应的IP

192.168.154.152 www.kgc.com

192.168.154.152 www.accp.com

2、修改nginx.conf配置


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
1server {
2        listen       80;
3        server_name  www.kgc.com;
4        charset utf-8;
5        access_log  logs/www.kgc.com.access.log;
6        location / {
7            root   /var/www/html/kgc;
8            index  index.html index.htm;
9        }
10        error_page   500 502 503 504  /50x.html;
11        location = /50x.html {
12            root   html;
13        }
14    }
15
16server {
17        listen       80;
18        server_name  www.accp.com;
19        charset utf-8;
20        access_log  logs/www.accp.com.access.log;
21        location / {
22            root   /var/www/html/accp;
23            index  index.html index.htm;
24        }
25        error_page   500 502 503 504  /50x.html;
26        location = /50x.html {
27            root   html;
28        }
29    }
30
31
32

3、访问www.kgc.com 和www.accp.com 两个域名,可分别跳转到两个不同的index页面

访问www.kgc.com
Nginx虚拟主机配置
访问www.accp.com
Nginx虚拟主机配置

四、Nginx基于端口的虚拟主机配置

1、同样,复制两个html文件,修改index首页信息用于标记访问的是那个虚拟机

2、修改nginx.conf的对应server-port属性值


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1 server {
2        listen      192.168.154.152:80;
3        server_name  www.kgc.com;
4        charset utf-8;
5        access_log  logs/www.kgc.com.access.log;
6        location / {
7            root   /var/www/html/kgc;
8            index  index.html index.htm;
9        }
10        error_page   500 502 503 504  /50x.html;
11        location = /50x.html {
12            root   html;
13        }
14    }
15
16 server {
17        listen      192.168.154.152:8080;
18        server_name  www.kgc02.com;
19        charset utf-8;
20        access_log  logs/www.kgc02.com.access.log;
21        location / {
22            root   /var/www/html/kgc02;
23            index  index.html index.htm;
24        }
25        error_page   500 502 503 504  /50x.html;
26        location = /50x.html {
27            root   html;
28        }
29    }
30
31

3、访问192.168.154.152:80 和192.168.154.152:8080 两个端口,可分别跳转到两个不同的index页面,

访问192.168.154.152:80
Nginx虚拟主机配置
访问192.168.154.152:8080
Nginx虚拟主机配置
这就使得通过1个服务器IP,虚拟出多个端口号发布相同服务,浏览器根据输入的某个端口号确定访问对应端口发布的服务

五、Nginx基于IP的虚拟主机配置

1、在Linux系统中虚拟出两个网卡,设置为不同的IP地址

Nginx虚拟主机配置
修改nginx配置文件

在nginx/conf/nginx.conf是nginx核心配置文件,nginx对虚拟主机的配置,一个server就是一个虚拟主机。Nginx对于多虚拟主机的支持,主要是对server标签的添加,指定location启动路径即可。

1)修改html/index.html文件,用于标记不同nginx首页信息

2)修改nginx.conf配置文件,添加两个server节点,指定ip


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1 server {
2        listen      192.168.154.152:80;
3        server_name  www.kgc.com;
4        charset utf-8;
5        access_log  logs/www.kgc.com.access.log;
6        location / {
7            root   /var/www/html/kgc;
8            index  index.html index.htm;
9        }
10        error_page   500 502 503 504  /50x.html;
11        location = /50x.html {
12            root   html;
13        }
14    }
15
16 server {
17        listen      192.168.154.159:80;
18        server_name  www.accp.com;
19        charset utf-8;
20        access_log  logs/www.accp.com.access.log;
21        location / {
22            root   /var/www/html/accp;
23            index  index.html index.htm;
24        }
25        error_page   500 502 503 504  /50x.html;
26        location = /50x.html {
27            root   html;
28        }
29    }
30
31

3、根据IP访问首页,效果图

访问192.168.72.48如下:
Nginx虚拟主机配置
访问192.168.154.159,如下:
Nginx虚拟主机配置
这就是实现了在同一台硬件服务器上,虚拟出两个IP地址,使用1个nginx服务器,分别对两个ip进行访问,分别跳转到不同的html页面。

给TA打赏
共{{data.count}}人
人已打赏
安全运维

WordPress网站专用docker容器环境带Waf

2020-7-18 20:04:44

安全运维

运维安全-Gitlab管理员权限安全思考

2021-9-19 9:16:14

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索