nginx的配置和使用

一、nginx支持win和linux版本的下载,选择合适的版本进行安装

二、配置文件注解

重点的几个参数进行注释:

1、listen 要监听的服务的端口,符合这个端口的才会被监听

        server_name要监听的服务地址,可能是ip,也可能是域名,如果是ip则只有符合ip+端口才会被监听,如果是域名(域名已经指向了一个端口)则符合这个域名或者这个域名的一部分也会被监听,如果域名指向的端口和Listen的不一样则不监听

2、在1条件满足下,会进入Location,可以对不同的url进行设置,比如完全匹配,前后缀匹配,部分匹配。

    • 在 location 块中,可以定义如何处理匹配到的请求。这包括但不限于:
      • 静态文件服务。
      • 重定向。
      • 代理到后端服务器(反向代理)。
      • 访问控制(如限制 IP 访问)。
  1. 静态文件服务

    • 通过 location 块,可以将请求映射到服务器上的静态文件。例如:
       

      nginx

      location /static/ { root /var/www; }

      这里 /static/ 是 URL 路径,/var/www 是服务器上的根目录,匹配到的请求会被映射到 /var/www/static/ 目录下的文件。
  2. 反向代理

    • 可以将请求代理到后端服务器。例如:
       

      nginx

      location / { proxy_pass http://backend; }

      这里 / 匹配所有请求,proxy_pass 指令将请求转发到定义在 upstream 中的 backend 服务器组。
  3. 重定向

    • 可以用于重定向请求到其他 URL。例如:
       

      nginx

      location /oldpath/ { return 301 http://example.com/newpath/; }

      这里将所有访问 /oldpath/ 的请求重定向到 http://example.com/newpath/
  4. 访问控制

    • 可以限制或允许某些 IP 地址访问特定的资源。例如:
       

      nginx

      location /admin/ { allow 192.168.1.0/24; deny all; }

      这里允许 192.168.1.x 的 IP 地址访问 /admin/ 路径,而拒绝其他所有 IP 地址

3、upstream tomcat_server这里是后台的服务地址,tomcat_server是自定义命名的服务名称,当location 配置了 proxy_pass 则会进入到这里(执行proxy_pass:如果请求的URL路径与某个location块匹配,并且该location块中包含proxy_pass指令,Nginx会将请求转发到指定的upstream组或后端服务器),这里的服务可以设置权重去负载均衡

实例:

两个后台服务: 127.0.0.1:1004   127.0.0.1:1005

接口地址是:127.0.0.1:1004/order/buyOne   127.0.0.1:1005/order/buyOne

通过nginx配置负载均衡

    upstream orderServer{
        server 127.0.0.1:1004;
        server 127.0.0.1:1005;
    }
    server {
        listen       8090;
        server_name  localhost;

        location /order/buyOne {
            proxy_pass http://orderServer;
        }

输入localhost:8090/order/buyOne则会直接反向代理到server指定的地址中

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/49371.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

41-50题矩阵和字符串 在Java中,将大写字符转换为小写字符的方法主要有以下几种:

20240723 一、数组最后几个和字符串的两个448. 找到所有数组中消失的数字(和645. 错误的集合差不多)283. 移动零118. 杨辉三角119. 杨辉三角 II661. 图片平滑器(没看懂)598. 区间加法 II566. 重塑矩阵303. 区域和检索 - 数组不可变…

键盘是如何使用中断机制的?当打印一串字符到显示屏上时发生了什么???

当在键盘上按下一个键时会进行一下操作: 1.当按下任意一个键时,键盘编码器监控会来判断按下的键是哪个 2.键盘控制器用将解码,将键盘的数据保存到键盘控制器里数据寄存器里面 3.此时发送一个中断请求给中断控制器,中断控制器获取到中断号发送…

Elasticsearch介绍、安装以及IK分词器 --学习笔记

Elasticsearch 是什么? Elasticsearch 是一个高度可扩展的开源全文搜索和分析引擎。它允许你以极快的速度存储、搜索和分析大量数据。Elasticsearch 基于 Apache Lucene 构建,提供了一个分布式、多租户能力的全文搜索引擎,带有 HTTP web 接口…

笔记小结:现代卷积神经网络之批量归一化

本文为李沐老师《动手学深度学习》笔记小结,用于个人复习并记录学习历程,适用于初学者 训练深层神经网络是十分困难的,特别是在较短的时间内使他们收敛更加棘手。 本节将介绍批量规范化(batch normalization)&#xf…

Redis-10大数据类型理解与测试

Redis10大数据类型 我要打10个1.redis字符串(String)2.redis列表(List)3.redis哈希表(Hash)4.redis集合(Set)5.redis有序集合(ZSet)6.redis地理空间(GEO)7.redis基数统计(HyperLogLog)8.redis位图(bitmap)9.redis位域(bitfield)10.redis流(Stream) 官网地址Redis 键(key)常用案…

鸿蒙界面开发

界面开发 //构建 → 界面 build() {//行Row(){//列Column(){//文本 函数名(参数) 对象.方法名(参数) 枚举名.变量名Text(this.message).fontSize(40)//设置文本大小.fontWeight(FontWeight.Bold)//设置文本粗细.fontColor(#ff2152)//设置文本颜色}.widt…

MMROTATE的混淆矩阵confusion matrix生成

mmdetection中加入了混淆矩阵生成并可视化的功能,具体的代码在tools/analysis_tools/confusion_matrix.py。 mmrotate由于主流遥感数据集中的DOTA数据集标注格式问题,做了一些修改,所以我们如果是做遥感图像检测的Dota数据集的混淆矩阵&…

安装CUDA Cudnn Pytorch(GPU版本)步骤

一.先看自己的电脑NVIDIA 支持CUDA版本是多少? 1.打开NVIDIA控制面板 2.点击帮助---系统信息--组件 我的支持CUDA11.6 二.再看支持Pytorch的CUDA版本 三.打开CUDA官网 下载CUDA 11.6 下载好后,安装 选择 自定义 然后安装位置 (先去F盘…

【ffmpeg命令入门】ffplay常用命令

文章目录 前言ffplay的简介FFplay 的基本用法常用参数及其作用示例 效果演示图播放普通视频播放网络媒体流RTSP 总结 前言 FFplay 是 FFmpeg 套件中的一个强大的媒体播放器,它基于命令行接口,允许用户以灵活且高效的方式播放音频和视频文件。作为一个简…

uniapp原生插件开发实战——iOS打开文件到自己的app

用原生开发获取文件的名称、路径等能力封装为一个插件包供前端使用 首先根据ios插件开发教程,创建一个插件工程,template 选framework 开始编写代码: iOS 9 及以下版本会调用以下方法: - (BOOL)application:(UIApplication *_N…

【数据分析详细教学】全球气温变迁:一个多世纪的数据分析

全球气温变迁:一个多世纪的数据分析 1. 数据集选择与获取 数据可以从NASA的GISTEMP数据集获取,通常提供的格式有TXT和CSV。我们假设数据是以CSV格式提供。 2. 数据预处理 使用Python的pandas库读取数据并进行预处理。 import pandas as pd# 加载数…

C#知识|账号管理系统:修改登录密码界面的UI设计

哈喽,你好啊!我是雷工! 本节记录添加修改登录密码界面的过程,以下为练习笔记。 01 效果演示 演示跳转打开修改登录密码子窗体效果: 02 添加窗体 在UI层添加一个Windows窗体,命名为:FrmModifyPwd.cs; 03 设置窗体属性 按照下表的内容设置窗体的相关属性: 设置属性 …

物联网架构之Hadoop

一:系统环境设置(所有节点都设置) 1:关闭selinux和防火墙 setenforce 0 sed -i /^SELINUX/s/enforcing/disabled/ /etc/selinux/config systemctl stop firewalld systemctl disable firewalld 2:为各个节点设置主机名…

mysql面试(二)

前言 这是mysql面试基础的第二节,主要是了解一下mysql数据更新的基本流程,还有三大日志的作用。但是具体的比如undolog是如何应用在mvcc机制中的,由于篇幅问题就放在下一在章节 数据更新流程 上面是说了更新真正数据之前的大致流程&#x…

requets库传data和传json的区别

传data和传json的qubie 被测对象,白月黑羽系统 系统下载地址: https://www.byhy.net/prac/pub/info/bysms/ 测试用例下载地址: https://cdn2.byhy.net/files/selenium/testcases.xlsx 一、传data import json import requests import pytes…

7、Qt5开发及实列(笔记3-系统操作)

说明&#xff1a;此示例包含了基本的常使用的系统操作 效果如下: mainwindos.cpp #pragma execution_character_set("utf-8") #include "mainwindow.h"#include <QDesktopWidget> #include <QApplication> #include <QHostInfo> #in…

docker基础镜像

一、配置 docker 本地源 [docker-ce-stable] nameDocker CE Stable baseurlhttp://10.35.186.181/docker-ce-stable/ enabled1 gpgcheck0 配置阿里云Docker Yum源 yum install -y yum-utils device-mapper-persistent-data lvm2 git yum-config-manager --add-repo http://mirr…

Windows安装Visual Studio2022 + QT5.15开发环境

最近&#xff0c;把系统换成了Windows11&#xff0c;想重新安装QT5.12&#xff0c;结果发现下载不了离线安装包。 最后索性安装QT5.15了&#xff0c;特此记录下。 预祝大家&#xff1a;不论是何时安装&#xff0c;都可以安装到指定版本的QT。 一、VS2022安装 VS2022官网下…

ubuntu 22.04 安装部署gitlab详细过程

目录 gitlab介绍 gitlab安装 步骤1&#xff1a;更新系统 步骤2&#xff1a;添加 GitLab 的 GPG 密钥 gitlab企业版 gitlab社区版 步骤3&#xff1a;安装 GitLab 社区版 社区版 步骤4&#xff1a;初始化 GitLab 步骤5&#xff1a;访问 GitLab 步骤6&#xff1a;查看r…

C++ - 基于多设计模式下的同步异步⽇志系统

1.项目介绍 项⽬介绍 本项⽬主要实现⼀个⽇志系统&#xff0c; 其主要⽀持以下功能: • ⽀持多级别⽇志消息 • ⽀持同步⽇志和异步⽇志 • ⽀持可靠写⼊⽇志到控制台、⽂件以及滚动⽂件中 • ⽀持多线程程序并发写⽇志 • ⽀持扩展不同的⽇志落地⽬标地 2.开发环境 • Cent…