• Nginx


    概念

    nginx
        什么是nginx
            nginx是一个高性能的HTTP和正、反向代理的服务器
        nginx可以干什么
            可以作为web服务器,可以实现反向代理,可以实现基于反向代理的负载均衡,可以作为静态资源服务器(类似于七牛云)
        什么时候使用nginx
            后台搭建集群的时候,访问量较大,使用

    使用

        nginx作为静态资源的web服务器
            -部署前端项目,实现完全的前后端分离
        nginx作为正向代理
            -使用正向代理功能,进行上网-通过代理服务器来访问服务器的过程
        nginx作为反向代理
            -使用反向代理功能,用户使用客户端时,访问反向代理服务器,由反向代理服务器访问后端真实地址,获取数据后返回给用户,此时nginx就是一个对外的表面服务器,隐藏了真实地址,非常安全
        nginx基于反向代理实现负载均衡
            -基于反向代理服务器,像后端发送请求时,将多个请求按照轮询、权重和ip_hash来分发给多个后端服务器,减轻单个服务器的压力,实现负载均衡

    实际应用

    没有图形界面化时: 在nginx.conf文件中,添加新的反向代理服务器

    没有实现负载均衡

    没有实现负载均衡
            格式
                server  {
                    #反向代理服务器地址,监听用户客户端使用
                    listen  反向代理服务器端口号 ;
                    #反向代理服务器名称
                    server_name 反向代理服务器名称 ;
                    #资源
                    location / {
                    #解决配置跨域
                    add_header 'Access-Control-Allow-Origin' '$http_origin';
                    add_header 'Access-Control-Allow-Credentials' 'true';
                    add_header 'Access-Control-Allow-Methods' 'POST, GET, OPTIONS, DELETE, PUT';
                    add_header 'Access-Control-Allow-Headers' 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,token';
    ​
                    #解决跨域post请求问题,OPTIONS是post请求的先锋部队,试探成功则post,否则失败
                    if ($request_method = 'OPTIONS') {
                        #返回204,试探成功
                        return 204;
                    }
                    proxy_set_header X-Real-IP $remote_addr;
                    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                    #配置反向代理服务器访问后端的地址
                    proxy_pass 后端访问服务器地址 ;
                    }
                }
            

    实现负载均衡

    -实现负载均衡
            格式
                #声明后端服务的集群地址
                upstream 集群名字{
                    #默认规则
                    #   -轮询-每个服务分发一次请求
                    #   -权重-设置1-10的权重,按照百分比的概率给后端服务分发请求
                    #   -ip_hash-通过用户的ip地址进行hash计算绑定一个服务-解决session共享问题
                    #规则选择一种,这里只做演示
                    server  服务名称:端口号
                    server  localhost:8000 ;#默认轮询
                    server  localhost:8001 weight=1 ;#权重-加起来100%概率
                    server  localhost:8002 weight=9 ;
                    ip_hash ;#在前面加上ip_hash开启绑定
                    server  localhost:8003 ;该用户进来后指分发到该服务
                }
                server  {
                    listen  反向代理服务器端口号 ;
                    server_name 反向代理服务器名称 ;
                    #资源
                    location / {
                        #转发的地址
                        proxy_pass http://集群名字 ;
                    }
                }
            

    静态资源服务器

    -静态资源服务器
            格式
                server  {
                    listen 反向代理服务器端口号 ;
                    server_name 反向代理服务器名称 ;
                    #资源
                    location / {
                        root 静态资源地址 ;
                        autoindex on ;
                    }
                }
            

    web服务器使用

    -web服务器使用
            格式
                server  {
                    listen 端口号 ;
                    server_name 服务器名称 ;
                    #资源
                    location / {
                        root 根目录 ;
                        index 首页页面 ;
                    }
                }

  • 相关阅读:
    Android OOM 问题探究 -- 从入门到放弃
    淘宝代购系统
    工厂模式-(简单工厂模式)
    【一周AI简讯】OpenAI奥特曼王者归来,马斯克AI模型Grok下周开放测试,ChatGPT语音对话功能向所有用户免费开放
    java web开发(IDEA安装)
    Java打包jar包的全部方式
    基于Springboot的SSM整合案例(详解)
    SpringSecurity安全管理
    MySQL+Java实现父子级联查询
    下载工程resources目录下的模板excel文件
  • 原文地址:https://blog.csdn.net/weixin_53118395/article/details/132994727