Nginx简介和快速入门

news2024/12/24 11:42:08

前言:

在一个小型的个人博客网站中,因为没什么流量,并发量小,一般可以直接在一个服务器上的tomcat中直接运行jar包.由tomcat直接响应给客户。

到后面之后随着流量的增大,一台服务器的资源不够用了,此时就需要再多开一些服务器用于分担压力,将同一个项目部署在不同的服务器上,但是可以通过同一个域名去访问,这时候就需要一台中转服务器用于将请求分发。

Nginx简介 

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

 Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好。 ​

以上来自于百度百科。

Nginx作用

Http代理,反向代理:web服务器最常用的功能之一

正向代理:

在境内是无法访问外网的,需要通过vpn才可以访问,这里用到的就是一个正向代理,vpn所在服务器接收客户端的请求去访问外网的服务器,响应结果也通过vpn返回到客户端。

正向代理的服务对象是客户端。

反向代理

反向代理的服务对象是服务器,代理服务器将请求统一接收按照一定的规则分发到其中一台服务器,即使两次访问的都是同一个域名,但是响应的服务器也可能不是同一台服务器。

负载均衡 

同一个项目部署到的不同的服务器很有可能资源都有所不同,这时候Nginx需要根据服务器的资源比选择不同的分发策略。

Nginx分发的策略 

轮询: 依次分发到不同的服务器,实践上差不多就是平均分,每一轮就是所有服务器都分发到相同数量的请求。

加权轮询:根据不同服务器的资源占比分发不同数量的请求到不同的服务器,谁的资源多获得的请求就多。

Iphash

定义:对客户端请求的ip进行hash操作,根据hash结果将同一个ip的请求分发到同一台服务器处理,以此来解决Session不共享的问题。

Session共享:将一个项目部署到多台服务器时,因为Session是保存在Tomcat当中的,每一台服务器的Tomcat的Session都是不共享的。有一个解决方法就是使用Redis.

Nginx提供的解决方法就是Iphash。

缺点:如果一台服务器挂了,存在该服务器上的信息都会丢失,因此大多数情况还是要使用Redis实现Session共享。

动静分离:

当一个项目里面里面有较多的静态资源时我们希望可以从一个静态资源服务器加载到客户端,而不是从jar包里面返回,这样就可以提升一定的访问速度。

这里Ngin就可以做到这一点,这个应该就是所谓的前后端分离,war包都是静态资源,运行在Nginx服务器上,jar包则是后端代码,运行在tomcat服务器上,接收动态请求。

Nginx安装使用

在官网中下载windows版本的压缩包,解压到一个不含中文的路径下面,里面的内容如下所示

conf:配置文件 (最常使用)

在conf中有一个nginx.conf  ,打开以后可以看见里面有如下,监听了本地的80端口 

启动

(1)双击.exe文件

(2)通过命令行窗口启动

 此时会出现如上的错误,原因翻译一下是尝试以套接字访问权限禁止的方式访问套接字什么的,反正就是不允许使用80端口,这时候可以在配置文件中更改监听端口号为90。  

然后就可以成功启动了。

之后访问这个url http://localhost:90/会出现如下说明启动成功

 Nginx常用命令

cd /usr/local/nginx/sbin/
./nginx  启动
./nginx -s stop  停止
./nginx -s quit  安全退出
./nginx -s reload  重新加载配置文件(常用)  //在修改配置文件之后使用
ps aux|grep nginx  查看nginx进程

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

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

相关文章

浏览器渲染页面的原理及流程

1、渲染引擎首先通过网络获得所请求文档的内容 2、解析HTML文件,构建 DOM Tree 3、解析CSS,构建 CSSOM Tree(CSS规则树) 4、将 DOM Tree 和 CSSOM Tree合并,构建Render tree(渲染树) 5、reflow(重排、回流):根据Render tree进行节…

功率器件的仿真评估

功率器件的仿真评估 1.功率器件仿真评估概述2.IGBT温升模型整理3.Matlab仿真计算4.仿真评估报告 1.功率器件仿真评估概述 功率器件的仿真评估共五个步骤: a.根据IGBT数据手册整理中热阻参数、开关损耗参数温升模型; b.带入到Matlab中仿真堵转、中速运行…

一键免费部署你的私人 ChatGPT 网页应用

主要功能 在 1 分钟内使用 Vercel (https://vercel.com/)免费一键部署精心设计的 UI,响应式设计,支持深色模式极快的首屏加载速度(~100kb)海量的内置 prompt 列表,来自中文和英文自动压缩上下文…

CUDA下载,以及下载GPU版本的pytorch

一、下载anaconda 因为这步我之前就下好了,主要参考这个链接:史上最全最详细的Anaconda安装教程 二、下载CUDA 1.首先观察自己需要什么版本的CUDA,以及是否安装过CUDA 先cmd,输入命令 nvidia-smi结果如下,所以我们…

论文笔记:Hidden Markov Map MatchingThrough Noise and Sparseness

sigspatial 2009 1 方法介绍 1.0great circle和route距离 1.1 和ST-matching的比较 1.1.1 转移概率和观测概率 和同一年的ST-matching很类似,也是使用HMM来进行路网匹配论文笔记:Map-Matching for low-sampling-rate GPS trajectories(ST…

【Redis7】Spring Boot集成Redis(重点:集成RedisTemplate)

【大家好,我是爱干饭的猿,本文重点介绍Redis7 Spring Boot集成Redis,包括Jedis、lettuce、集成RedisTemplate、集群时一台master宕机,java报错的情况分析。 后续会继续分享Redis7和其他重要知识点总结,如果喜欢这篇文…

linux-02-软件安装-centos7配置jdk、tomcat、mysql、lrzsz、项目部署(Git、Maven)、shell脚本自动从git仓库获取项目更新★

文章目录 Linux-Day02课程内容1. 软件安装1.1 软件安装方式1.2 安装JDKshell脚本里写 cd命令不生效 1.3 安装Tomcat1.3.1 Tomcat安装好多方便的自定义命令:1.3.2 Tomcat进程查看1.3.3 防火墙操作1.3.4 停止Tomcat 1.4 安装MySQL1.4.1 MySQL安装1.4.2 MySQL启动1.4.3 MySQL登录1…

几何算法——7.Blending(倒角)的调研、设计及算法

几何算法——7.Blending(倒角)的调研、设计及算法 1 Parasolid的Blending1.1 关于Parasolid的BlendSurface1.2 Edge Blending1.2.1 Rolling-ball blends1.2.2 Variable rolling-ball blends1.2.3 Chamfers1.2.3.1 face offset chamfers1.2.3.2 apex-rang…

自学黑客/网络渗透,一般人我劝你还是算了

写在开篇 笔者本人 17 年就读于一所普通的本科学校,20 年 6 月在三年经验的时候顺利通过校招实习面试进入大厂,现就职于某大厂安全实验室。 我为啥说自学黑客,一般人我还是劝你算了吧。因为我就是那个不一般的人。 首先我谈下对黑客&…

AMBA总线协议AXI——学习笔记

文章目录 前言一、AXI(Advanced eXtensible Interface)1、定义2、信号2.1 全局信号2.2 写数据通路2.3 写地址通道2.4 写回复通道2.5 读数据通道2.6 读地址通道2.7 低功耗接口信号 3、AXI-Lite协议特点4、读写时序图4.1 读burst4.2 读重叠burst4.3 写burs…

Baklib母公司探码科技荣获甲子光年:2023中国AI数据平台创新企业

4月25日,由中国科技产业智库「甲子光年」主办、上海市信息服务业行业协会支持的「共赴山海2023甲子引力X智能新世代」峰会在上海召开。峰会上为了表彰在AI领域中取得卓越成就的公司,甲子光年在峰会现场颁布了星辰20:创新企业,表彰…

鹏程·盘古

鹏程盘古模型基于 1.1 TB 高质量中文训练数据,采用全场景人工智能计算框架 MindSpore 自动并行技术实现了五维并行训练策略,从而可将训练任务高效扩展到 4 096 个处理器上。 对比实验表明,在少样本或零样本情况下,鹏程盘古模型在…

Mysql高级知识-------索引

mysql索引的创建,新增,删除 查询索引: 语法: show index from 表 主要参数: 新建表中添加索引 ① 普通索引 create table t_dept( no int not null primary key, name varchar(20) null, sex varchar(2) null, inf…

讯飞星火大模型申请及测试:诚意满满

“ 大家好,我是可夫小子,关注AIGC、读书和自媒体。解锁更多ChatGPT、AI绘画玩法。加:keeepdance,备注:chatgpt,拉你进群。 最近国产大模型跟下饺子似,隔几天就发布一个。厂家发布得起劲&#xf…

ArduPilot之posHoldRTL实测

ArduPilot之posHold&RTL实测 1. 源由2. 模式配置3. 测试步骤4. 飞行实测5. 总结6. 参考资料7. 附录-关于QGC 暂不支持MAVLink2 signing Protocol问题7.1 问题描述7.2 硬件配置7.3 逻辑分析7.4 配置Signature7.5 总结(QGC目前尚不支持MAVLink2 Signature&#xf…

算法——分布式——一致性哈希、一致性hash图解动画

分布式算法——一致性哈希、一致性Hash 概述传统Hash算法算法步骤生成Hash环定位服务器定位数据和映射服务器 服务器变更Hash环倾斜虚拟节点总结 概述 一致性哈希算法在1997年由麻省理工学院提出,是一种特殊的哈希算法,目的是解决分布式缓存的问题。在移…

使用bert4keras出现的问题(Process finished with exit code -1073741819 (0xC0000005))

1、环境 python 3.7.12 tensorflow 1.15 keras 2.3.1 bert4keras 0.9.7 protobuf 3.19.0 numpy 1.16.5 2、出现问题 numpy版本不兼容问题所以你就直接按照我的版本就可以了(numpy 1.16.5) Process finished with exit code -1073741819 (0xC0000005) …

关于储存器的笔记

存储器是许多存储单元的集合,按单元号顺序排列。每个单元由若干二进制位构成,以表示存储单元中存放的数值,通常由数组描述存储器。 存储器可分为主存储器(简称主存或内存)和辅助存储器(简称辅存或外存)两大类。和CPU直接交换信息的是主存。 …

HDCTF KEEP ON

Index KEEP ONChecksec & IDA漏洞分析完整EXP KEEP ON Checksec & IDA __int64 vuln() {char s[80]; // [rsp0h] [rbp-50h] BYREFmemset(s, 0, sizeof(s));puts("please show me your name: ");read(0, s, 0x48uLL);printf("hello,");printf(s);p…

2.5 习题分析

类型一、 通过收敛阶的定义分析迭代方法的收敛速度 例6 分析简单迭代法与牛顿迭代法的收敛速度 我的答案: 一、信息 1.分析简单迭代 2.分析牛顿迭代 3.二者的收敛速度 二、分析 条件1和条件2:告诉我此次分析的目标 条件3告诉我分析的方向即为收…