Nginx

2023-09-18 20:15:23

概念

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 首页页面 ;
                }
            }

更多推荐

文案内容千篇一律,软文推广如何加深用户印象

随着互联网技术的发展,企业营销的方式逐渐转向软文推广,但是现在软文推广的内容同质化越来越严重,企业应该如何让自己的软文推广保持差异性,在用户心中留下独特的印象呢?下面就让媒介盒子告诉你。一、 找出产品独特卖点市场上同一类型的产品,缺点各有各的不同,但优点大同小异,因此我们需要找出产品独特卖点,将其表现出来,在

能进大厂?阿里云ACE认证到底有多香!

中国云计算火爆的当下,阿里云一枝独秀,市场占有率比排名后5名的总和还要多。在全球的云计算市场上,阿里云也是排名第三,超过谷歌云。这足以说明了市场对于阿里云产品解决方案的需求之大。而阿里云云计算架构师ACE认证是针对云架构师,解决方案架构师,云运维专家等技术人员的阿里云高级别技术认证。该认证体系已被阿里巴巴集团、交付伙伴

安卓恶意应用识别(三)(批量反编译与属性值提取)

前言上篇说到对安卓APK反编译,本篇实现批量反编译和批量特征提取及计算,主要就是通过python代码与cmd进行批量化交互,我在写文章之前,尝试批量下载了安卓apk(大约10来个),发现现在这个应用软件不是一般的大啊,无奈电脑内存不太够,现仅将已下载10个apk作为示例展示。1.批量反编译思路是这样:第一步:调用cmd

一文熟悉Latex论文排版

相信计算机专业或者写过专业论文的同学都知道,使用Office或者WPS来控制论文的格式有多么复杂和繁琐,甚至有时候花在改论文格式上的时间甚至超过了写论文的时间,因此我们急需要使用一种更加专业实用的排版工具来满足我们的论文排版需求,因此,Latex应运而生!1.LaTex概述LaTex是一个专业的排版工具,LaTex在世

窜货采买第三方怎么选择

窜货溯源服务听起来并不难,无非就是买货,但是否能买到货,同时在买到之后能否顺利完成溯源工作,也是非常有学问的,很多品牌会选择第三方服务商进行采买合作,这样可以规避品牌自己操作时的不合规性,因为自查如果不严谨的话,是容易造成“假数据”的,所以类似窜货采买这种涉及较多面的治理动作,与第三方合作会更加正确。要看第三方是否有相

RabbitMQ —— 延迟队列

前言前面荔枝梳理了有关死信队列的知识,延伸过来我们可以借助死信队列来理解延时队列。在实际需求中我们总是不可避免地需要一些定时任务,为了避免大量的计时操作消耗性能,我们常常采用的是延时队列来存储相应的消息,这时候死信队列的特点就出现了,死信队列使用的一个前提就是消息的TTL过期。在这篇文章中,荔枝会梳理延迟队列的相关知识

记RestTemplateBuilder奇诡的坑

前言在紧张的开发工作中,总能遇到一些奇怪的问题。今天的主角是RestTemplateBuilder。问题描述由于某些原因,我需要一个不检查HTTPS证书的RestTemplate。但是不管我怎么搞,就是依然会被检查到证书而抛出请求异常!在构建RestTemplate时,我使用了RestTemplateBuilder.(

央媒发稿不能改?媒体发布新闻稿有哪些注意点

传媒如春雨,润物细无声,大家好,我是51媒体网胡老师。“央媒发稿不能改”是媒体行业和新闻传播领域的普遍理解。央媒,即中央主要媒体,是权威性的新闻源,当这些媒体发布新闻稿或报道时,其他省、市或地方的媒体在转载时一般不对原文内容进行修改,以保证信息的一致性和权威性。其次,在我们给央媒提供新闻稿件时,需要注意以下细节,因为央

logsim&worldsim&场景库

logsimLogsim是由路测数据提取的场景,提供复杂多变的障碍物行为和交通状况,使场景充满不确定性。简单理解就是路测时录制log,通过平台回放log实现场景重现。Logsim数据来源于真实的路测,是最真实,正确有效的。但是Logsim数据的内容通常无法根据需求进行更改。举个例子,比如路测的时候,有一些需要人工接管的

【教程】微信小程序导入外部字体详细流程

前言在微信小程序中,我们在wxss文件中通过font-family这一CSS属性来设置文本的字体,并且微信小程序有自身支持的内置字体,可以通过代码提示查看微信小程序支持字体:这些字体具体是什么样式可以参考:微信小程序--字体展示_别动我的指针的博客-CSDN博客字体一font-family:‘CourierNew’,C

PgSQL-安全加固实践-如何设置非全零监听

PgSQL-安全加固实践-如何设置非全零监听1、介绍PgSQL在启动前需要配置listen_addresses配置项,该配置项表示允许PgSQL服务监听程序绑定的IP。我们知道一个host上可以有多个网卡,每个网卡可以绑定多个IP,该参数就是控制PgSQL服务绑定在哪个或者哪几个IP上。即控制服务使用哪个网络接口进行监

热文推荐