Nginx详解-安装配置等

目录

一、引言

1.1 代理问题

1.2 负载均衡问题

1.3 资源优化

1.4 Nginx处理

二、Nginx概述

三、Nginx的安装

3.1 安装Nginx

3.2 Nginx的配置文件

四、Nginx的反向代理【重点】

4.1 正向代理和反向代理介绍

4.2 基于Nginx实现反向代理

4.3 关于Nginx的location路径映射


 

一、引言


1.1 代理问题

客户端到底要将请求发送给哪台服务器。

发送给服务器1还是服务器2
1.2 负载均衡问题

如果所有客户端的请求都发送给了服务器1,那么服务器2将没有任何意义

负载均衡问题

1.3 资源优化

客户端发送的请求可能是申请动态资源的,也有申请静态资源,但是都是去Tomcat中获取的

静态资源访问

1.4 Nginx处理
在搭建集群后,使用Nginx

二、Nginx概述


Nginx是由俄罗斯人研发的,应对Rambler的网站,并且2004年发布的第一个版本。

Nginx之父

官方文档 nginx 

Nginx的特点:

  • 俄罗斯生产,底层C语言

  • 稳定性极强。 7*24小时不间断运行。

  • Nginx提供了非常丰富的配置实例。

  • 占用内存小,并发能力强。

  • 单机可扛5万并发

其他软负载均衡器

​ lvs:国产,章文松博士开发,性能优于nginx,性能较单一

硬负载均衡器

硬件,价格昂贵,性能高,每秒以GB为单位接收请求

​ 常用品牌:f5,netscaler等等

三、Nginx的安装


nginx容器内部路径

​ /usr/share/nginx/html: 存放静态资源​ /etc/nginx/nginx.conf : nginx的配置文件(配置静态资源 ,反向代理信息, 负载均衡)​ var/log/nginx:记录日志

3.1 安装Nginx

使用docker命令安装nginx

注意:如果没有这个文件,是不能挂载的,所以需要先在centos指定位置复制一个nginx.conf。 我们可以先随便创建一个nginx,容器中会包含nginx.conf , 同时也可以看到nginx容器内目录结构。

docker run -id --name docker-nginx 
-v /opt/docker-nginx/data/conf/nginx.conf:/etc/nginx/nginx.conf 
-v /opt/docker-nginx/data/html:/usr/share/nginx/html 
-p 81:80 daocloud.io/library/nginx:latest

使用Docker-Compose安装

docker-compose-nginx.yml 文件

version: '3.1'
services:nginx:restart: alwaysimage: daocloud.io/library/nginx:latestcontainer_name: nginx3ports:- 82:80volumes:- /opt/docker-nginx/data/conf/nginx.conf:/etc/nginx/nginx.conf- /opt/docker-nginx/data/log:/var/log/nginx- /opt/docker-nginx/data/html:/usr/share/nginx/htmltomcat:restart: alwaysimage: daocloud.io/library/tomcat:8.5.15-jre8container_name: nginx-tomcatports:- 9091:8080volumes:- /var/lib/docker/volumes/olumes/_data:/usr/local/tomcat/webapps/ROOT   

使用compose构建容器

docker-compose -f 文件名 up -d

3.2 Nginx的配置文件

关于Nginx的核心配置文件nginx.conf

worker_processes  1;        
error_log  /var/log/nginx/error.log warn;
# 以上统称为全局块, 
# worker_processes他的数值越大,Nginx的并发能力就越强
# error_log 代表Nginx的错误日志存放的位置
​
events {worker_connections  1024;
}
# events块
# worker_connections他的数值越大,Nignx并发能力越强
​
http {include       /etc/nginx/mime.types;default_type  application/octet-stream;server {listen       80;server_name  localhost;
​location / {root   /usr/share/nginx/html;index  index.html index.htm;}# location块# root:将接收到的请求根据/usr/share/nginx/html去查找静态资源# index: 默认去上述的路径中找到index.html或者index.htm}# server块# listen: 代表Nginx监听的端口号 # localhost:代表Nginx接收请求的ip
}
# http块
# include代表引入一个外部的文件 -> /mime.types中放着大量的媒体类型
# include /etc/nginx/conf.d/*.conf; -> 引入了conf.d目录下的以.conf为结尾的配置文件
​

四、Nginx的反向代理【重点


4.1 正向代理和反向代理介绍

正向代理:

  • 正向代理服务是由客户端设立的。

  • 客户端了解代理服务器和目标服务器都是谁。

  • 帮助咱们实现突破访问权限,提高访问的速度,对目标服务器隐藏客户端的ip地址。

正向代理

反向代理:

  • 反向代理服务器是配置在服务端的。

  • 客户端是不知道访问的到底是哪一台服务器。

  • 达到负载均衡,并且可以隐藏服务器真正的ip地址。

4.2 基于Nginx实现反向代理

准备一个目标服务器。

启动了之前的tomcat服务器。

编写nginx的配置文件,通过Nginx访问到tomcat服务器。

server{listen 80;server_name localhost;# 基于反向代理访问到Tomcat服务器location / {# 注意:ip是tomcat内部ip地址, 端口号也是tomcat的内部端口号proxy_pass http://你的地址:8080/;}
}

4.3 关于Nginx的location路径映射

优先级关系如下:

  • location = /路径:优先级最高,精准匹配,一旦匹配, 不再去找其他匹配项。

  • location ^~ /路径:优先级次之,字符串匹配,一旦匹配, 不再去找其他匹配项。

  • location ~ 正则表达式:如果有多个location的正则能匹配的话,则使用正则表达式最长的那个。

  • location ~* 正则表达式:和location ~ 正则表达式相同,不过当前方式不区分大小写。

  • location /路径:常规方式,匹配前缀,优先级最低。

举个栗子:

# 直接匹配
location = / {# 精准匹配,主机名后面不能带任何的字符串
}
​
# 常规匹配
location /xxx {# 匹配所有以/xxx开头的路径}
​
# 正则匹配
location ~ /xxx {# 匹配所有以/xxx开头的路径
}
​
# 匹配开头路径
location ^~ /images/ {# 匹配所有以/images开头的路径,匹配后,不再删选其他选项
}
​
# 正则匹配后缀
location ~* \.(gif|jpg|png)$ {# 匹配以gif或者jpg或者png为结尾的路径
}
​
# 全部通配
location / {# 匹配全部路径  
}

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

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

相关文章

CSS 文本输入框右下角的尺寸控件(三斜线:-webkit-resizer)消除,以及如何配置其样式,添加 resize 让标签元素可进行拖拽放大。

前言:在日常的前端开发中,不管是原始的和 还在在各类组件库中的文本输入框中,元素内容的右下角总是有一个三斜线的样式,本文简单了解它是什么?如何去控制并修改样式? 一、它是? 这三个斜线其实…

echarts实现3D柱状图(视觉层面)

一、第一种效果 效果图 使用步骤 完整实例&#xff0c;copy就可直接使用 <template><div :class"className" :style"{height:height,width:width}" /> </template><script>import echarts from echartsrequire(echarts/theme/…

Qt通过句柄获取其它进程控件实例

1.通过spy获取想要获取控件的句柄id 通过spy获取另一个软件的文本框的句柄 2.Qt写代码&#xff0c; 根据句柄获取文本框的内容 void getTextFromExternalWindow(HWND hwnd) {const int bufferSize 256;TCHAR buffer[bufferSize];// 获取窗口文本内容int length GetWindowT…

一文读懂企业为什么需要数字工厂管理系统

在当今这个日新月异的数字化时代&#xff0c;企业面临着前所未有的挑战与机遇。为了在激烈的市场竞争中保持领先地位&#xff0c;实现高效、灵活、可持续的生产运营&#xff0c;企业纷纷转向数字化转型&#xff0c;而数字工厂管理系统作为其中的关键一环&#xff0c;正逐步成为…

京东e卡怎么用?

京东618过去后&#xff0c;就没有多大购物欲望了&#xff0c;最后导致我手里还有好几张200块钱面值的e卡没地方用 本来说送朋友&#xff0c;但是又感觉面值太小了 最后还是在收卡云上把提取出来了&#xff0c;主要回收价格不错&#xff0c;而且到账也快&#xff0c;很方便

VMware配置Ubuntu

VMware下载官方链接&#xff1a;Download VMware Workstation Player | VMware Ubuntu20.04下载&#xff1a;https://ubuntu.com/download/desktop 安装步骤 点击【浏览】可更改安装位置&#xff08;建议不要安装在C盘&#xff0c;可以在D盘或其它磁盘下新建一个“ubuntu”文…

linux深度deepin基于rsync和apt-mirror同步软件源及构建本地内网源

目录 一、rsync方式二、apt-mirror方式1.安装apt-mirror2.配置apt-mirror(/etc/apt/mirror.list)3.新建存放目录开始下载 3.发布mirror站点 一、rsync方式 参考官方文档地址&#xff1a; https://www.deepin.org/index/docs/wiki/05_HOW-TO/08_%E9%95%9C%E5%83%8F%E5%8A%A0%E9%…

时钟服务器方案选型推荐:ATGM332D-5T和ATGM331C-5T

ATGM331C-5T系列模块同样是具有高灵敏度、低功耗、低成本等优势&#xff0c;适用于电力授时设备、时钟服务器、守时设备&#xff0c;可以直接替换Ublox LEA T系列模块。 性能指标&#xff1a; 从下面的图来看&#xff0c;ATGM331C-5T系列比ATGM332D-5T系列性能更好&#xff0c;…

民宿小程序开发,在线预订模式

一、开发背景 如今&#xff0c;随着互联网技术的快速发展&#xff0c;大众的生活消费都集中在了手机上&#xff0c;通过手机进行各种活动&#xff0c;同时也包括了预订酒店民宿&#xff0c;由此&#xff0c;民宿预约小程序出现在了大众的生活中。 二、民宿小程序特点 民宿小…

中国经济昆虫志(55卷)

中国经济昆虫志&#xff0c;共55卷&#xff0c;内容包括概述、形态特征、分类等。各级分类单元均编有检索表&#xff0c;每个种有特征描述、地理分布&#xff0c;有的还记载有生活习性和防治方法。为便于鉴定&#xff0c;绘制有特征图和彩色图。 包括鞘翅目天牛科、半翅目蝽科、…

Python创建异步任务队列库之Huey使用详解

概要 Huey 是一个简单的 Python 库,用于创建异步任务队列。它的设计目标是简单易用,同时具备强大的功能。Huey 可以轻松地将任务添加到队列中,然后在后台线程中处理这些任务,从而避免阻塞主线程。这使得 Huey 非常适合处理 I/O 密集型或长时间运行的任务。此外,Huey 还支…

Qt安装配置教程

目录 一、下载Qt二、进行安装1、点击安装包&#xff08;QT6.7版本演示&#xff09;2、注册Qt账号3、选择安装的位置4、选择对应的组件 三、新建项目1、打开Qt Creator2、创建项目3、编辑名称和地址4、选择默认的CMake或切换成qmake构建5、选择自己的编译器&#xff0c;在此选择…

从.mat文件中导入数据到simulink进行FFT分析

1. 在matlab中准备数据 .mat 文件中包含时间向量和需要分析的数据 load(fcssiabc061302.mat);提取时间和需要分析的数据 time fcssiabc061302.X.Data; % 时间向量 signal fcssiabc061302.Y(1).Data; % A相电流数据 将数据转换为“structure with time”格式…

Geotools系列说明之LineString仿高德航路截取说明

需求分析 我们在做webgl的时候经常会遇到这样的需求&#xff0c;计算给定航路的拥堵情况&#xff0c;不同的拥堵显示不同的颜色&#xff0c;航路截取计算等等。基于这类问题统一都可以使用LineString进行处理 实现思路 如上图所示&#xff0c;航路是几个关键的点然后练成线&a…

手机微信聊天记录删除了怎么恢复?揭秘3个技巧

在现代社交生活中&#xff0c;微信已经成为我们沟通和交流的重要工具。然而&#xff0c;不小心删除重要的微信聊天记录是很多人都会遇到的问题。这些被误删的记录可能包含了工作中的重要信息、与亲友的珍贵对话&#xff0c;甚至是重要的证据材料。 那么&#xff0c;当数据被删…

AI人才争夺战:巨头眼中的产品经理必备技能

前言 在人工智能的浪潮下&#xff0c;BAT等一线互联网企业纷纷加码布局&#xff0c;对AI领域的人才需求空前高涨。然而&#xff0c;要在众多求职者中脱颖而出&#xff0c;成为企业眼中的人才&#xff0c;不仅需要深厚的产品功底&#xff0c;更要具备对AI的深刻理解和应用能力。…

桥梁监测系统:守护桥梁结构安全的科技利器

桥梁是城市交通的重要组成部分&#xff0c;然而&#xff0c;长期以来&#xff0c;桥梁结构的健康问题一直是人们关注的焦点。传统的人工巡检方式无法全面准确地掌握桥梁结构的实时状况&#xff0c;因此&#xff0c;桥梁监测系统应运而生。桥梁监测系统是一种基于传感器、信息处…

操作系统缓存与缓冲

缓存与缓冲 缓冲区是一块临时存储数据的区域&#xff0c;这些数据后面会被传输到其他设备上。缓冲区更像消息队列&#xff0c;用以弥补高速设备和低速设备通信时的速度差&#xff0c;平衡读写速度。例如&#xff1a;IO中内核缓冲区Ring Buffer。 缓存&#xff1a;存在于速度相…

position: sticky; 网页吸顶效果,吸顶不遮盖容器滚动条

文章目录 一、效果二、创建容器三、监听滚动&#xff0c;切换 position四、引用 js 变量五、总结 一、效果 吸顶元素跟随页面向上滚动而滚动&#xff0c;达到一定高度后吸附在容器顶部&#xff1b;容器向下滚动到一定高度后&#xff0c;吸顶元素不再吸附&#xff0c;并跟随滚动…

如何选择适合自己的巴比达内网穿透方案

选择适合自己的巴比达内网穿透方案&#xff0c;需要考虑几个关键因素&#xff0c;包括您的具体需求、安全性要求、技术水平以及预算。以下是一些选择巴比达内网穿透方案的建议步骤&#xff1a; 1. 确定需求和用途 首先&#xff0c;需要明确您希望通过内网穿透实现的具体目标和…