• 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;    
        }  
    }

  • 相关阅读:
    Java中的transient关键字是什么意思?
    含文档+PPT+源码等]javaweb企业员工信息管理系统的设计与实现薪酬|请假|薪资|工资
    python | 自动化exe程序
    前端性能优化认知
    【数据结构与算法】详解快排
    2023-09-23 Windows系统rust开发环境配置真经
    数据接口工程对接BI可视化大屏(五)数据接口发布
    everything-everything使用技巧,过滤文件语法
    【Git】git的安装与使用教程
    JDBC总结
  • 原文地址:https://blog.csdn.net/xiangfengl/article/details/128051826