Nginx的功能

nginx介绍(引用百度百科)

Nginx (engine x) 是一个高性能的http和反向代理服务,也是一个IMAP/POP3/SMTP服务。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,第一个公开版本0.1.0发布于2004年10月4日。

其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。2011年6月1日,nginx 1.0.4发布。

Nginx是一个http服务器。是一个使用c语言开发的高性能的http 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。nginx能够支撑5万并发链接,并且cpu、内存等资源消耗却非常低,运行非常稳定,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。

nginx功能

1.反向代理          
         正向代理:某些情况下,代理我们用户去访问服务器,需要用户手动的设置代理服务器的ip和端口号。
         反向代理:是用来代理服务器的,代理我们要访问的目标服务器。
  代理服务器接受请求,然后将请求转发给内部网络的服务器(集群化),
  并将从服务器上得到的结果返回给客户端,此时代理服务器对外就表现为一个服务器。

Nginx在反向代理上,提供灵活的功能,可以根据不同的正则采用不同的转发策略,设置好后不同的请求就可以走不同的服务器。

2.负载均衡

            负载均衡:多在高并发情况下需要使用。其原理就是将数据流量分摊到多个服务器执行,减轻每台服务器的压力,多台服务器(集群)共同完成工作任务,从而提高了数据的吞吐量。

3.动静分离
            Nginx提供的动静分离是指把动态请求和静态请求分离开,合适的服务器处理相应的请求,使整个服务器系统的性能、效率更高。

            Nginx可以根据配置对不同的请求做不同转发,这是动态分离的基础。静态请求对应的静态资源可以直接放在Nginx上做缓冲,更好的做法是放在相应的缓冲服务器上。动态请求由相应的后端服务器处理。

nginx实现

1.两台或以上的应用服务器在nginx.conf中写入相关配置,主要是对proxy_pass,upstream的使用

2.Nginx可使用的负载均衡策略有:轮询(默认)、权重、ip_hash、url_hash(第三方)、fair(第三方)

Nginx的配置文件通常位于 /etc/nginx/nginx.conf/usr/local/nginx/conf/nginx.conf 文件中,其主要包含以下几个部分:

  1. events 部分:在这个部分,你可以指定 Nginx 如何处理连接,例如并发连接的最大数目和使用哪种事件驱动的模型。

  2. http 部分:这是配置 HTTP 服务器的主要部分。它包含了全局的配置指令、HTTP 请求处理配置、反向代理、负载均衡、缓存控制、访问日志等。

  3. server 部分:在 http 部分内,你可以定义一个或多个 server 块,每个 server 块代表一个虚拟主机(或域名)。在每个 server 块内,你可以定义该虚拟主机的配置,如监听端口、SSL/TLS 配置、请求的路由规则等。

  4. location 部分:在 server 块内,你可以使用 location 块来匹配特定的 URL 或路径,并指定相关的配置指令,如反向代理到其他服务器、启用缓存、设置访问权限等。

以下是一个简单的 Nginx 配置示例:

events {
    worker_connections 1024;
}

http {
    upstream backend {
        server backend1.example.com;
        server backend2.example.com;
    }

    server {
        listen 80;
        server_name example.com;

        location / {
            proxy_pass http://backend;
            proxy_set_header Host $host;
        }
    }
}

在上述示例中,我们定义了一个名为 backendupstream 块,其中列出了两个后端服务器 backend1.example.combackend2.example.com。当 Nginx 收到来自客户端的请求时,它将根据负载均衡算法将请求转发到这些后端服务器之一。

server 块的 location 配置中,我们使用 proxy_pass 指令将请求代理到 backend 上定义的后端服务器组。此外,我们还使用 proxy_set_header 指令设置了请求头的 Host 字段,以便后端服务器能够正确处理请求。

通过这样的配置,Nginx 可以充当一个反向代理服务器,将客户端的请求转发到后端服务器,并将响应返回给客户端。

需要注意的是,upstream 块还支持更高级的负载均衡配置,例如权重、健康检查、失败处理等选项。你可以根据具体需求和后端服务器的情况进行相应的配置。此外,Nginx 还支持其他一些反向代理相关的配置指令,如缓存、SSL/TLS 设置、请求限制等。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值