Nginx-狂神说

Nginx概述

公司产品出现瓶颈?

我们公司项目刚刚上线的时候,并发量小,用户使用的少,所以在低并发的情况下,一个jar包启动应用就够了,然后内部tomcat返回内容给用户。
在这里插入图片描述

但是慢慢的,使用我们平台的用户越来越多了,并发量慢慢增大了,这时候一台服务器满足不了我们的需求了。

在这里插入图片描述

于是我们横向扩展,又增加了服务器。这个时候几个项目启动在不同的服务器上,用户要访问,就需要增加一个代理服务器了,通过代理服务器来帮我们转发和处理请求。

在这里插入图片描述

我们希望这个代理服务器可以帮助我们接收用户的请求,然后将用户的请求按照规则帮我们转发到不同的服务器节点之上。这个过程用户是无感知的,用户并不知道是哪个服务器返回的结果,我们还希望他可以按照服务器的性能提供不同的权重选择。保证最佳体验!所以我们使用了Nginx。

什么是Nginx?

Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,第一个公开版本0.1.0发布于2004年10月4日。2011年6月1日,nginx 1.0.4发布。

其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。在全球活跃的网站中有12.18%的使用比率,大约为2220万个网站。

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

Nginx代码完全用C语言从头写成。官方数据测试表明能够支持高达 50,000 个并发连接数的响应。

Nginx作用?

Http代理,反向代理:作为web服务器最常用的功能之一,尤其是反向代理。

正向代理
在这里插入图片描述

玩游戏时会用到VPN,打吃鸡带宽延迟的特别的慢,挂VPN就会非常快,因为中国目前不能访问外国的网站的,比如访问谷歌访问不了,但是为什么挂了VPN就能够访问外网了,这里其实是正向代理起了作用。比如说你的电脑,挂了个VPN,就相当于你电脑做了个代理,它会帮你请求外部的资源,比如代理服务器在香港,香港就是可以访问外网的,这个时候你的服务器请求香港服务器,香港服务器再去请求美国服务器,美国服务器就会返回数据到香港服务器,香港服务器就会返回数据给你。

代理客户端的这种翻墙工具就是正向代理。与之同时,代理服务器端的就是反向代理。

动静分离
比如你的项目里有非常多的静态资源,比如你放了bootstrap、jquery的相关js文件,像这样一堆静态资源每次都要从你的jar包里面去加载就非常麻烦,那我希望有个静态资源服务器用来存放这些静态资源,他从静态资源服务器这边加载就好了,能够提升一定的访问速度

Nginx的安装

在这里插入图片描述

windows下安装

linux下安装

Nginx常用命令

cd /usr/local/nginx/sbin/
./nginx  启动
./nginx -s stop  停止 -s 表示在当前目录下,所以必须要先进入/usr/local/nginx/sbin目录下执行该命令才不会出问题
./nginx -s quit  安全退出
./nginx -s reload  重新加载配置文件
ps aux|grep nginx  查看nginx进程

nginx配置文件讲解

nginx.conf这个文件里的内容主要分为三大模块,一个是nginx的全局配置,一个是events模块,一个是http模块。

在http模块中有很多个server的配置,server就是可以配置不同的服务。可以看到nginx.conf配置文件中,有没有注释掉的80端口的服务,也有被注释掉的443端口的服务。

# localhost配置
# 此时访问是:http://localhost:80/
localhost / { #配置为/,当访问80端口的根目录,那么就会走到这里面的相关配置#xxx 相关配置
}# 此时访问是:http://localhost:80/admin
localhost /admin { #配置为/,当访问80端口的/admin路径,那么就会走到这里面的相关配置#xxx 相关配置
}

谨记:所有的配置文件后面一定要以;(分号)结尾

演示

需求:我有个jar,使用java -jar xxx.jar运行起来端口分别为8080、8081的两个服务,但是我得访问localhost:8080/和localhost:8081,这时候需要使用nginx进行反向代理和负载均衡处理。
在这里插入图片描述
在这里插入图片描述

当访问localhost:80,直接访问到jar包里内容时,就成功了。

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

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

相关文章

K8S认证|CKA题库+答案| 13. sidecar 代理容器日志

目录 13、使用 sidecar 代理容器日志 CKA v1.29.0模拟系统免费下载试用: 题目: 开始操作: 1)、切换集群 2)、生成yaml文件 3)、官网找模板 4)、编辑yaml文件 5)、应用yaml…

车载电子电器架构 —— 智能座舱技术

车载电子电器架构 —— 智能座舱技术 我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 屏蔽力是信息过载时代一个人的特殊竞争力,任何消耗你的…

GEO数据挖掘-GEO背景知识+表达芯片分析思路

From生物技能树 GEO数据挖掘第一节 (pipeline) 文章目录 1.图表分析2.GEO背景介绍及分析思路3.代码分析流程4.复杂数据分析理论知识1.数据从哪里来2.有什么类型的数据可挖掘3.如何筛选基因(分析方法)在这里插入图片描述 图表介绍1…

Jenkins + github 自动化部署配置

1 Jenkins安装 AWS EC2安装Jenkins:AWS EC2 JDK11 Jenkins-CSDN博客 AWS EC2上Docker安装Jenkins:https://blog.csdn.net/hhujjj2005/article/details/139078402 2 登录jenkins http://192.168.1.128:8080/ $ docker exec -it d1851d9e3386 /bin/ba…

Multi-objective reinforcement learning approach for trip recommendation

Multi-objective reinforcement learning approach for trip recommendation A B S T R A C T 行程推荐是一项智能服务,为游客在陌生的城市提供个性化的行程规划。 它旨在构建一系列有序的 POI,在时间和空间限制下最大化用户的旅行体验。 将候选 POI 添…

【Shell】sed编辑器实例

sed是用来解析和转换文本的工具,它使用简单,是简洁的程序设计语言。 sed编辑器 (一) sed编辑器基础1. 简介2. sed的模式空间 (二)基本的sed编辑命令(三)sed命令实例1. 向文件中添加或…

MFC GDI 绘图模式、映射模式、画笔、笔、字体

一 GDI 绘图模式(RoP2 Mode) 在使用VC MFC进行图形程序编程时,常会用到GDI绘图指令,而要做到绘图时有橡皮筋动态效果,就需设置GDI绘图模式。GDI绘图模式有多种,如下: 常用R2_NOT模式来实…

Linux|操作系统|如何下载各个版本的centos操作系统

前言: centos做为一个现在比较常用的Linux社区版本,还是比较受欢迎的,那么,如何下载centos的安装包,也就是centos的操作系统呢? 首先,我们应该知道硬件底层有aarch64,ppc64&#x…

【限免】短时傅里叶变换时频分析【附MATLAB代码】

来源:微信公众号:EW Frontier 简介 一种能够同时对信号时域和频域分析的方法——短时傅里叶变换(STFT),可以在时频二维角度准确地描述信号 的时间、频域的局部特性,与其他算法不同,通过该算法可…

【Elasticsearch】Centos7安装Elasticsearch、kibana、IK分词

目录 本文安装包下载地址注意安装elasticsearch1.上传文件2.解压elasticsearch-6.3.1.tar.gz3.开启远程连接权限4.修改其他配置[root用户操作]5.重启虚拟机6.启动es7.外部访问 安装kibana-61.解压2.配置3.启动kibana4.访问5.在开发工具中做数据的增删改查操作 安装IK分词1.wind…

软件安全复习

文章目录 第一章 软件安全概述1.1 信息定义1.2 信息的属性1.3 信息安全1.4 软件安全1.5 软件安全威胁及其来源1.5.1 软件缺陷与漏洞1.5.1.1 软件缺陷1.5.1.2 漏洞1.5.1.3 软件漏洞1.5.1.4 软件缺陷和漏洞的威胁 1.5.2 恶意软件1.5.2.1 恶意软件的定义1.5.2.2 恶意软件的威胁 1.…

携手AI,如何共赢未来?

5/25日参加了一个培训分享会,由博奥研究院、武汉博奕咨询和华工科技联合举办,主题是“携手Ai,共赢未来”。 抱着跟书友线下交流的心态我参与了,参与前我对博奥做了基础了解,他们跟工信部考试和教育中心有合作&#x…

【C语言】指针作为参数(传值调用vs传址调用)

前言 在前面讲了那些指针相关的内容后,是时候探讨一下指针有什么作用了。 在C语言中,指针有多种各不相同的应用,在本篇文章中,我们探讨一下指针作为函数参数的作用(对比传值与传址两种不同函数调用方式)。…

【QGIS入门实战精品教程】10.7: 基于DEM的地形因子分析(坡度、坡向、粗糙度、山体阴影、耐用指数)

文章目录 一、加载dem二、山体阴影三、坡度四、坡向五、地形耐用指数六、地形位置指数七、地表粗糙度一、加载dem 二、山体阴影 方法一:符号系统 利用符号系统中的山体阴影,渲染出阴影效果。 方法二:山体阴影工具 该算法计算输入中的数字化地形模型的山体阴影。根据太阳的位…

2024 年 5 个 GO REST API 框架

什么是API? API是一个软件解决方案,作为中介,使两个应用程序能够相互交互。以下一些特征让API变得更加有用和有价值: 遵守REST和HTTP等易于访问、广泛理解和开发人员友好的标准。API不仅仅是几行代码;这些是为移动开…

kali下载zsteg和stegpy

1.kali下载zsteg 从 GitHub 上克隆zsteg到kali git clone https://github.com/zed-0xff/zsteg 切换目录 cd zsteg 用于安装名为 zsteg 的 Ruby Gem 包 gem install zsteg 2.kali下载stegpy 下载网站内的stegpy-master压缩包GitCode - 开发者的代码家园 并拉到kali中 切换到s…

python数据分析——数据可视化(图形绘制)

数据可视化(图形绘制基础) 前言一、图形绘制基础Matplotlib简介使用过程sin函数示例 二、常用图形绘制折线图的绘制plot示例 散点图的绘制scatter()示例 柱状图的绘制bar示例 箱型图绘制plot.box示例 饼状图的绘制pie示例 三、图形绘制的组合情况多个折线…

Sql Sever删除数据库时提示数据库正在被使用,解决办法

报错解释: 当您尝试删除SQL Server中的某个对象(如数据库、表等)时,如果有程序或进程正在使用该对象,您可能会收到一个错误信息,提示该对象正被使用。这通常是因为还有一个或多个数据库连接仍然保持着对该…

易备数据备份软件: 快速备份 MySQL\SQL Server\Oracle\泛微 OA 数据库

易备数据备份软件支持对 SQL Server、Oracle、MySQL、PostgreSQL、MariaDB、泛微 OA 等数据库进行快速备份,备份过程不会对任何服务造成中断。 使用一份授权,可以备份无限量的数据库,不管数据库服务器是否在本机、本地网络、或是远程网络。可…

Vitis HLS 学习笔记--控制驱动TLP-处理deadlock

目录 1. 简介 2. 代码解析 2.1 HLS kernel代码 2.2 查看接口报告 2.3 TestBench 2.4 Dataflow 报告 3. Takeaways 4. 总结 1. 简介 本文是对《Hardware Acceleration Tutorials: FIFO Sizing for Performance and Avoiding Deadlocks》实验内容的详细解释。 首先需要…