nignx实现HTTP服务器、虚拟主机、反向代理、负载均衡

Nignx概念定义:

Nginx是一款自由的、开源的、高性能的HTTP服务器和反向代理服务器;同时也是一个IMAP、POP3、SMTP代理服务器。由俄罗斯的程序设计师Igor Sysoev所开发,官方测试nginx能够支支撑5万并发链接,并且cpu、内存等资源消耗却非常低,运行非常稳定,所以现在很多知名的公司都在使用nginx。

Nignx功能作用:

  1. HTTP服务器:

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

  1. 虚拟主机

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

  1. 反向代理,负载均衡。

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

Nignx的优点:

1、占内存小、可以实现高并发连接、处理响应快。

2、可以实现http服务器、虚拟主机、反向代理、负载均衡。

3、Nignx配置简单

4、可以不暴露真实服务器的IP地址

下面简单的介绍Nignx的功能作用的具体实现

  1. HTTP服务器:

Web server很重要一部分工作就是提供静态页面的访问,例如images, html page。nginx可以通过不同的配置,根据request请求,从本地的目录提供不同的文件返回给客户端。 打开安装目录下的nginx.conf文件,默认配置文件已经在http指令块中创建了一个空的server块,在nginx-1.14.2中的http块中已经创建了一个默认的server块。内容如下:

 

 

server {

listen       80;

server_name  localhost;

location / {

root  html;

index  index.html index.htm;

}

error_page   500 502 503 504  /50x.html;

location = /50x.html {

root   html;

}

}

我们可以nignx中的html目录下存放我们要访问的静态资源

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

我们可以通过http://localhost和网页的文件完整名称访问静态网

例如:http://localhost/hello.html,访问效果如下图所示

 

 

 

  1. 虚拟主机

就是把一台物理服务器划分成多个“虚拟”的服务器,每一个虚拟主机都可以有独立的域名和独立的目录

 

首先要在C:\Windows\System32\drivers\etc\hosts文件添加

127.0.0.1       www.test.com

127.0.0.1       www.test2.com

然后在nignx的conf文件夹下的nginx.conf文件添加下面配置

server {

        listen       80;

        server_name  www.test.com;

        location / {

            root  html/domain1;

            index  index.html;

        }

              error_page   500 502 503 504  /50x.html;

        location = /50x.html {

            root   html/domain1;

        }

}

 

       server {

        listen       80;

        server_name  www.test2.com;

        location / {

            root  html/domain2;

            index  index.html;

        }

              error_page   500 502 503 504  /50x.html;

        location = /50x.html {

            root   html/domain2;

        }

    }

我们将本机虚拟成两台服务器,一台域名为www.test.com,访问的文件路径html/domain1,另一台域名为www.test2.com,访问的文件路径html/domain2。

直接用不同域名在浏览器中访问即可访问到路径中文件

示例如下:

www.test.com

www.test2.com

  1. 反向代理

在hosts文件中加入配置如下

127.0.0.1       www.hongyu.com

127.0.0.1       www.hongyu2.com

准备两个tomcat,

将其中一个端口号改成8081。分别启动两个Tomcat服务器。

在nignx.conf文件中加入

server {

        listen       80;

        server_name  www.hongyu2.com;

        location / {

            proxy_pass  http://127.0.0.1:8081;

            index  index.html index.htm;

        }

    }

       server {

        listen       80;

        server_name  www.hongyu.com;

        location / {

            proxy_pass  http://127.0.0.1:8080;

            index  index.html index.htm;

        }

}

通过不同的域名,便能够访问到不同的Tomcat服务器

 

 

 

  1. 实现负载均衡

在nignx.conf文件中加入

upstream backserver {

     server 127.0.0.1:8080 weight=3;

     server 127.0.0.1:8081;

    }

 

    server {

        listen       80;

        server_name  www.test.com;

        location / {

                  proxy_pass  http://backserver;

                     index  index.html index.htm;

        }

    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值