• Nginx下载及配置


    一. ngnix用途
    1. Web 服务器:
    相比 Apache,Nginx 使用资源更少,支持并发连接更多,效率更高,能够支持高达 50,000 个并发连接数的响应。

    2.负载均衡服务器
    支持作为 HTTP代理服务器对外进行服务。Nginx用C编写,不论是系统资源开销还是 CPU 使用效率都比 Perlbal 要好的多。

    3.作为邮件代理服务器
    Nginx 同时也是一个非常优秀的邮件代理服务器(最早开发这个产品的目的之一也是作为邮件代理服务器)。

    4.优势
    安装非常的简单;配置文件 非常简洁 (还能够支持perl语法);bug非常少的服务器; Nginx 启动特别容易,并且几乎可以做到7*24不间断运行,即使运行数个月也不需要重新启动;能够在不间断服务的情况下进行软件版本的升级。

    二. windows下安装nginx


    1. nginx下载地址: http://nginx.org/en/download.html

     选择红框稳定版最后一个下载即可,下载好后解压得到如下目录


    2. 解压即可

    3.nginx的启动
    在此目录下打开cmd命令窗口,切换到nginx解压目录下,输入命令 start nginx.exe ,回车即可
    检查nginx启动是否成:
    直接在浏览器地址栏输入网址http://localhost:80,回车,出现以下页面说明启动成功

    简单介绍下几个nginx命令

    start nginx.exe    启动nginx
    nginx  -s reload  :修改配置后重新加载生效
    nginx  -s reopen  :重新打开日志文件
    nginx  -t -c /path/to/nginx.conf 测试nginx配置文件是否正确

    关闭nginx:
    nginx -s stop  :快速停止nginx
             quit  :完整有序的停止nginx


    三.nginx配置
    1. nginx的配置文件是conf目录下的nginx.conf

    2. nginx默认的访问路径server_name:localhost和监听端口listen:80,启动nginx之后,在浏览器中访问http://localhost:80或者http://localhost(http默认端口80,可以不写),即可出现nginx的欢迎页面

    3. 启动之后, 如果80端口被占用(netstat -ano | findstr “80”), 可以修改listen的值,执行命令:nginx -s reload。

    4. 也可以采用自定义conf配置文件然后用命令include内嵌到nginx.conf的方式    


    四. nginx的location配置
    location指令的作用是根据用户请求的URI来执行不同的应用,也就是根据用户请求的URL进行匹配,匹配成功即进行相关的操作。
    即:此模块专门将请求导向其他服务

    1. location的语法:
              location [ = | ~ | ~* | ^~ ] uri { … }           
             指令 | | 匹配标识 | | 匹配的网站网址 | | 匹配URI之后要执行的配置段|
             精确匹配(=) > 字符串打头匹配(^~) > 正则匹配(或) > 否定式正则匹配(!或!) > 通用匹配(/)。两种正则当中,区分大小写的优先级高,也就是不带*的优先级高(范围从小到大)

    2. 匹配模式:

              精确匹配:
              location = / {
              #精确匹配访问网站根目录
              }
              location = /login {
              #精确匹配http://xxx.com/login

              ^~ 表示以什么打头,关键在于正则的开头符 ^
              location ^~ /static/ {
              #以/static打头,比如 http://xxx.com/static/jQuery.js
              }

              正则匹配(~ 区分大小写的正则, ~* 不区分大小的正则)
               location ~ .png {
               #以png结尾,比如比如 http://xxx.com/img/a.png
               }
               location ~* .png$ {
               #以png或者PNG或者Png等等结尾,比如  http://xxx.com/img/a.pNg。               如果是png结尾,会优先匹配上面一条。
               }

              排除法的正则,同样区分大小写优先于不区分大小写
              location !~ .png$ {
              #匹配“以png结尾”失败,进入location,那就情况多了去了,只要不以png结             尾就行
              }
              location !~* .png$ {
              #匹配“以png或者PNG或者PnG等等”结尾失败,进入location,那情况也多了            去了,只要不是PNG的各种大小写变体就行
              }

              通用匹配
              location / {
              #用来兜底的,当前面其他所有的规则都不满足条件,就归入这个通用的
              }

              “@”前缀


    注意:inginx中配置proxy_pass时,当在后面的url加上了"/",相当于是绝对根路径,则nginx不会把location中匹配的路径部分代理走;如果没有"/",则会把匹配的路径部分也给代理走.

    比如nginx请求链接:http://localhost:8080/api/getName?name=xiaoming


    a.第一种情况:proxy_pass链接的最后不带"/"

    则被代理为:http://localhost:8082/api/getName?name=xiaoming


    b.第二种情况:proxy_pass链接的最后带"/"

     则被代理为:http://localhost:8082/getName?name=xiaoming

    五. 负载均衡:
    1.nginx的反向代理:
    nginx的代理过程,就是将请求发送给nginx,然后将请求转发给后端服务器,后端服务器处理完毕之后将结果再发给nginx,nginx再把结果发送给客户端。后端服务器可在远程也可在本地,也可以是nginx服务器内部定义的其他虚拟主机。这些接收nginx转发的服务器被称为上游(upstream),使用nginx做代理的目的之一是扩展基础架构的规模。nginx可以处理大量并发连接,请求到来后,nginx可将其转发给任意数量的后台服务器进行处理,这等于将负载均衡分散到整个集群

    2.缓冲:
    nginx也提供了缓冲的机制,用于提高性能。没有缓冲的情况下,数据直接从后端服务器发送给客户端。缓冲的作用是在nginx上临时存储来自后端服务器的处理结果,从而可以提早关闭nginx到后端的连接,减少IO的损耗。一般内容存放在内存当中,但当内容过多,造成的内存不够时,会把内容存放在临时文件目录下。

    3.负载均衡:
    客户端访问nginx的时候,只需要配置一个ip和一个端口,nginx帮助我们把请求转发不同的后台服务中。


    六. nginx配置多个配置文件
    需要在server中加:include config/*.conf;  (此处config为文件夹名,可更改)

    七. 跨域

    跨域请求就是指:当前发起请求的域与该请求指向的资源所在的域不一样。这里的域指的是这样的一个概念:协议 + 域名 + 端口号均相同,那么就是同域。

    我话讲完!谁赞成?谁反对?
  • 相关阅读:
    从零开始学 Web 之 DOM(七)事件冒泡
    从零开始学 Web 之 DOM(六)为元素绑定与解绑事件
    从零开始学 Web 之 DOM(五)元素的创建
    从零开始学 Web 之 DOM(四)节点
    从零开始学 Web 之 DOM(三)innerText与innerHTML、自定义属性
    从零开始学 Web 之 DOM(二)对样式的操作,获取元素的方式
    从零开始学 Web 之 DOM(一)DOM的概念,对标签操作
    @RequestParam和@GetMapping
    组件(一)
    Vue(一)
  • 原文地址:https://www.cnblogs.com/wffzk/p/12780759.html
Copyright © 2020-2023  润新知