• nginx安装与配置反向代理


            Nginx (engine x) 是一款基于异步框架的轻量级/高性能的Web 服务器/反向代理服务器/缓存服务器/电子邮件(IMAP/POP3)代理服务器,由俄罗斯的程序设计师Igor Sysoev(伊戈尔·赛索耶夫)所开发.话不多说直接上步骤

    1.安装nginx,我是在root用户下不需要加sudo

    yum install nginx

     安装成功之后,显示下版本信息

    nginx -v

     说明已经安装成功

    安装成功默认是处于运行状态

    ps aux | grep nginx

     关闭nginx服务

    service nginx stop

    启动nginx服务

    service nginx start

    2.nginx常见的目录介绍

    配置文件信息

    1. cd /etc/nginx/   
    2. ll

      

     log日志目录

    1. cd /var/log/nginx/
    2. ll

     默认首页目录

    1. cd /usr/share/nginx/html/
    2. ll

    3.在/etc/nginx/conf.d目录下,有一个conf.d的目录,,进入conf.d的这个目录里,然后新建一个配置文件frontend.conf,一般我们配置的信息放在这里.

    1. cd /etc/nginx/conf.d
    2. touch frontend.conf

     4.server下配置多个location根据路径匹的不同做不同的处理

    语法规则: location [=|~|~*|^~] /uri/ { … }

    首先匹配 =,其次匹配^~, 其次是按文件中顺序的正则匹配,最后是交给 / 通用匹配。当有匹配成功时候,停止匹配,按当前匹配规则处理请求

    1. = 开头表示:精确匹配。
    2. ^~ 开头表示:区分大小写以什么开头。
    3. ~ 开头表示:区分大小写的正则匹配。
    4. ~* 开头表示:不区分大小写的正则匹配。
    5. !~ 和!~*分别表示:区分大小写 不匹配 及不区分大小写 不匹配的正则匹配。
    6. / 表示:通用匹配,任何请求都会匹配到。

    5.实例解析

    server {
        listen       80;
        listen  [::]:80;
        server_name  location.test.com;

        access_log  /var/log/nginx/location.host.access.log  main;

        #*********************注意多个location通常按精确的放前面,模糊大范围的放后面,nginx先找= ******************************
        location = /login.html {  #精确匹配 /login
        root /root/dist;    #请求/login.html相当于寻找资源/root/dist/login.html
        }
        location ^~ /prefix/ {  #区分大小写且以/prefix/开头
        root /root/dist;    #root代表根目录,请求/prefix/prefix.html相当于寻找资源/root/dist/prefix/prefix.html 
        }
        location ~ .(png|jpg)$ {  #不区分大小写且以.png或.jpg结尾
        root /root/dist;  #请求/suffix/a.png相当于寻找资源/root/dist/suffix/a.png
        }
        location ^~ /v1_0/ {  # 区分大小写且以/v1_0/开头
        proxy_pass https://www.jd.com/;    #proxy_pass  此处的url以/结尾,则nginx会取掉location部分再转发,例如,请求/v1_0/电器?name=1 则会转发到https://www.jd.com/电器?name=1
        }
        location ^~ /s {  # /会匹配到所有的
        proxy_pass https://www.baidu.com;   #proxy_pass  此处的url没有以/结尾,则匹配到的地址全部拼接到代理后的地址,例如,请求/s?name=1 则会转发到https://www.baidu.com/s?name=1
        }
        location  / {# 会返回index.html
        root /usr/share/nginx/html;
        index index.html;    
        }  
    }

  • 相关阅读:
    队列(queue)
    【c ++ primer 笔记】第4章 表达式
    自然语言处理(NLP)技术
    S7-1200PLC 作为MODBUSTCP服务器通信(多客户端访问)
    量子计算基础——矩阵语言
    力扣100题——贪心算法
    20、实现短信验证码的登录注册功能
    Google Earth Engine(GEE)——10分钟短文快速了解地球引擎和森林面积损失计算
    交易猫链接源码搭建/带教程
    基于docker实现mysql的主从复制 详细步骤
  • 原文地址:https://blog.csdn.net/xiangfengl/article/details/128051826