【Nginx笔记01】Nginx配置文件介绍、反向代理、负载均衡

这篇具有很好参考价值的文章主要介绍了【Nginx笔记01】Nginx配置文件介绍、反向代理、负载均衡。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

这篇文章,主要介绍Nginx配置文件介绍、反向代理、负载均衡。

目录

一、nginx介绍

1.1、配置文件

1.2、反向代理

1.3、负载均衡


一、nginx介绍

1.1、配置文件

nginx配置文件是位于【conf】目录下的【nginx.conf】文件,这个文件中有三大部分组成,分别是:全局块、events块、http块。

【Nginx笔记01】Nginx配置文件介绍、反向代理、负载均衡

全局块:定义一些全局变量,写在nginx.conf配置文件最开头部分。 例如:可以定义工作进程数量、日志文件路径、pid文件位置、用户组等。

events块:配置nginx选择哪种事件驱动模型来处理网络连接,例如:指定每一个工作进程最多可以处理多少个连接。

http块:这是最经常修改的配置部分,这个模块用于配置HTTP网络服务相关信息。 http块也有三部分组成,分别是:http全局配置、server服务配置模块、location路由配置模块。

http全局配置,用于设置网络连接的一些信息,例如:是否压缩传输、请求类型、连接超时时间、日志文件等等信息。 server服务配置模块:这个模块用于定义对外提供的服务,可以配置多个server块,一个server块就相当于是一个服务。

location路由模块:这个模块用于配置server服务模块中请求的路由,可以配置多个location块,指定哪些路由应该访问哪些静态资源,应该分发到哪个server服务等等信息。

1.2、反向代理

nginx反向代理,是指:客户端访问nginx服务,nginx根据规则将这个请求转发到指定的后端服务器上。

#user  nobody;
# worker_processes 表示nginx的worker工作进程数量
worker_processes  1;

events {
    # worker_connections 表示一个worker工作进程里面,最大能够处理的连接数量,即:最大并发数量
    worker_connections  1024;
}

http {
    # 引入文件类型和扩展名映射关系
    include       mime.types;
    # 设置默认的文件类型
    default_type  application/octet-stream;
    # 开启 sendfile 方式传输文件
    sendfile        on;
    # 设置连接超时时间
    keepalive_timeout  65;

    # 定义服务模块
    server {
        # 监听应用程序端口
        listen       6250;
        # 服务名称,一般是域名,可以多个,使用空格分隔
        server_name  localhost;

        # 配置路由,这里设置的是所有请求都将进入这个路由里面
        location / {
            # 配置静态资源的根目录,这里设置的就是nginx安装目录下的html目录
            root   html;
            # 配置访问的首页面,这里设置的就是访问html目录下的index.html和index.htm文件
            index  index.html index.htm;
        }

        # 所有/api开头的请求,都将进入这个路由里面,这里的【~】符号表示采用正则表达式
        # 注意:这里的【/api/】会被URL重写掉
        # 例如: 客户端发起的请求是: http://localhost:6250/api/nginx/query
        # 那么反向代理之后,转发的请求会变成: http://localhost:16250/nginx/query  注意没有了【/api/】
        location ~ /api/ {
            # 哪些IP不能够访问
            deny 127.0.0.1;
            # 允许哪些IP访问
            allow 10.105.129.147;
            # 设置反向代理的服务器地址,客户端/api的请求会被转发到 prox_pass 指定的服务器上面
            # 这里配置的代理地址中,不能包含URI片段,只能够含有:协议+IP+端口,最后的【/】都不能包含
            proxy_pass http://localhost:16250;
            # 设置转发请求中的请求头信息
            # proxy_set_header 请求头名称 值;
            proxy_set_header Host $host:$server_port;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header REMOTE-HOST $remote_addr;
        }
    }
}
  • 注意:如果proxy_pass配置的地址最后带有【/】斜杠,那么location后面的路径匹配格式要写成【^~/xxx/】才不会报错。
# 这里使用了【^】
location ^~/api/ {
    proxy_set_header Host $host:$server_port;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header REMOTE-HOST $remote_addr;
    # 这里最后使用了一个【/】,使用了【/】结尾,那么location后面就要使用【^】,不然启动报错
    proxy_pass http://127.0.0.1:30000/;
}

1.3、负载均衡

负载均衡是指将请求分发到不同的服务器上,减少一台服务器处理大量请求的情况。假设现在只有一台A服务器,此时有10000个请求到来,那么nginx只能够将这10000个请求全部分发给A服务器。如果A服务器只能处理5000个请求,那么就会导致大量请求积压,从而有可能导致A服务器宕机。为了解决A服务器的压力,可以在增加几台服务器,B服务器和C服务器。nginx安装某种分发规则,将这10000个请求分发到A、B、C三台服务器上面,这样每一台服务器,就可以只处理少部分的请求。这个思想就是负载均衡的思想,将压力分担到不同的服务器上面。

#user  nobody;
# worker_processes 表示nginx的worker工作进程数量
worker_processes  1;

events {
    # worker_connections 表示一个worker工作进程里面,最大能够处理的连接数量,即:最大并发数量
    worker_connections  1024;
}

http {
    # 引入文件类型和扩展名映射关系
    include       mime.types;
    # 设置默认的文件类型
    default_type  application/octet-stream;
    # 开启 sendfile 方式传输文件
    sendfile        on;
    # 设置连接超时时间
    keepalive_timeout  65;
    
    # 负载均衡配置
    upstream sp-nginx-demo {
        # 定义后端服务器的【IP地址+端口】,注意不能加http或者https协议之类的
        server 127.0.0.1:16250;
        server 127.0.0.1:16251;
        server 127.0.0.1:16252;
    }

    # 定义服务模块
    server {
        # 监听应用程序端口
        listen       6251;
        # 服务名称,一般是域名,可以多个,使用空格分隔
        server_name  localhost;

        # 配置路由,这里设置的是所有请求都将进入这个路由里面
        location / {
            # 配置静态资源的根目录,这里设置的就是nginx安装目录下的html目录
            root   html;
            # 配置访问的首页面,这里设置的就是访问html目录下的index.html和index.htm文件
            index  index.html index.htm;
        }

        # 所有/api开头的请求,都将进入这个路由里面,这里的【~】符号表示采用正则表达式
        # 注意:这里的【/api/】会被URL重写掉
        # 例如: 客户端发起的请求是: http://localhost:6250/api/nginx/query
        # 那么反向代理之后,转发的请求会变成: http://localhost:16250/nginx/query  注意没有了【/api/】
        location ~ /api/ {
            # 哪些IP不能够访问
            # deny 127.0.0.1;
            # 允许哪些IP访问
            allow 10.105.129.147;
            # 设置反向代理的服务器地址,客户端/api的请求会被转发到 prox_pass 指定的服务器上面
            # 注意: 负载均衡模式下,不会重写URI,只是将对应的【IP+PORT】替换成后端服务器地址
            # 举个例子: 客户端发起的请求是: http://127.0.0.1:6251/api/nginx/query
            # 负载均衡之后,变成的地址是: http://127.0.0.1:16252/api/nginx/query 
            # 这里配置的代理地址中,是负载均衡的upstream模块名称: sp-nginx-demo
            proxy_pass http://sp-nginx-demo;
            # 设置转发请求中的请求头信息
            # proxy_set_header 请求头名称 值;
            proxy_set_header Host $host:$server_port;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header REMOTE-HOST $remote_addr;
        }
    }
}

到此,这篇文章结束了,主要介绍Nginx配置文件介绍、反向代理、负载均衡。文章来源地址https://www.toymoban.com/news/detail-422898.html

到了这里,关于【Nginx笔记01】Nginx配置文件介绍、反向代理、负载均衡的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Linux-nginx(安装配置nginx、配置反向代理、Nginx配置负载均衡、动静分离)

    关于代理 正向代理: 客户明确知道自己访问的网站是什么 隐藏客户端的信息 目录 关于代理 一、Nginx的安装与配置 1、安装依赖 2、安装nginx (1)上传压缩包到目录 /usr/nginx里面 (2)解压文件 (3)进入到nginx的文件夹下面 进行默认的配置  ./configure (4) Make make install (5)

    2024年01月21日
    浏览(44)
  • nginx反向代理服务器及负载均衡服务配置

    一、正向代理与反向代理 正向代理:是一个位于客户端和原始服务器(oricin server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。 正向代理的典型用途是为在防火

    2024年02月04日
    浏览(49)
  • Nginx配置整合:基本概念、命令、反向代理、负载均衡、动静分离、高可用

    Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理server。其特点是占有内存少。并发能力强,其并发能力确实在同类型的网页server中表现较好。 Web服务器是指驻留于因特网上某种类型计算机的程序。当Web浏览器(客户端)连到服务器上并请求文件时,服务器

    2024年02月16日
    浏览(43)
  • 03Nginx的静态资源部署,反向代理,负载均衡,动静分离的配置

    部署静态资源 Nginx相对于Tomcat处理静态资源的能力更加高效,所以在生产环境下一般都会将Nginx可以作为静态web服务器来部署静态资源 静态资源: 在服务端真实存在并且能够直接展示的一些html页面、css文件、js文件、图片、视频等资源文件 将静态资源部署到Nginx非常简单,只需要

    2024年02月04日
    浏览(44)
  • 【nginx实战】nginx正向代理、反向代理、由反向代理实现的负载均衡、故障转移详解

    本文将要讨论以下内容 正向代理与反向代理的基本概念 Nginx正向代理服务的配置指令、Nginx反向代理服务的配置指令 Nginx反向代理服务器的应用——负载均衡、故障转移 案例分析   正向代理的概念 局域网内的机器借助代理服务访问局域网外的网站,此代理服务器提供的服务

    2024年01月24日
    浏览(52)
  • nginx反向代理 负载均衡

    目录 1.反向代理介绍:  2.七层代理和四层代理:   2.1 七层代理:   2.2 四层代理: 3.反向代理web服务器:   3.1 代理服务器配置: 3.2 服务器配置 : 3.3 客户端访问: 3.4 代理不同端口: 4.反向代理动静分离:   4.1  准备:   4.2 代理服务器配置:   4.3 动态服务器配置:

    2024年02月10日
    浏览(43)
  • nginx反向代理、负载均衡

         

    2024年02月12日
    浏览(40)
  • nginx负载均衡+反向代理

    最近业务上遇到一个需求,其它系统因业务校验需要调用上级系统进行数据发送或校验,如果上级系统停机维护,其它下级系统发送的http通讯会丢失,还要一次次补发数据,耗费人工与时间。使用nginx+反向代理解决了部分需求。 目标:当服务A停机维护,其它系统会调用服务

    2024年02月08日
    浏览(41)
  • Nginx 反向代理负载均衡

    Nginx 反向代理负载均衡 普通的负载均衡软件,如 LVS,其实现的功能只是对请求数据包的转发、传递,从负载均衡下的节点服务器来看,接收到的请求还是来自访问负载均衡器的客户端的真实用户;而反向代理就不一样了,反向代理服务器在接收访问用户请求后,会代理用户

    2024年02月03日
    浏览(54)
  • Nginx反向代理和负载均衡

    ` 正向代理 反向代理 七层反向代理: (基于http协议) http { upstream 服务器组名称 { server IP1:PORT [weight=1 …]; server IP2:PORT; … 调度算法(rr轮询/加权轮询,least_conn最小连接,ip_hash,url_hash,fair); } server { location ~ … { proxy_pass http://服务器组名称; proxy_set_header HosT $host; proxy_set_he

    2024年02月03日
    浏览(89)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包