nginx

nginx:

  • 高性能、轻量级的web服务软件。

nginx特点:

  1. 稳定性高 ( 没有apache稳 )

  2. 系统资源消耗较低 ( 处理http请求的并发能力很高 单台服务器可以处理3-5万)

也追求稳定: 一般在企业中,为了保持服务器稳定,并发量的设置在2万个左右,占用内存2M左右,加上keep-alive状态也就3M左右

nginx的主要功能:

1、静态文件服务 :

      nginx可以直接提供静态文件的服务,HTML、JAVA、图片等能够高效地处理并且响应静态文件的请求。

2 、反向代理 :

      可一作为反向代理的服务器,将客户端的请求转发给后端多个服务器,可以实现负载均衡,高可用,提高整个集群的性能以及可靠性。

       正向代理 : 已知后端服务器,请求只会往固定的服务器发送请求

       反向代理的核心 :客户端在请求时,沟通代理服务器,会把请求的流量按照轮询算法,转发到后台不同服务器上,实现负载均衡和高可用

3、处理动态内容 :

      nginx处理动态内容很差,php node,js java python,nginx可以代理请求,发送到后端的动态服务处理,动态服务器处理完之后,nginx来把动态请求,响应给客户端。

4、SSLTLS加密 :

    HTTPS的加密方式,数字证书验证机制 

5、虚拟主机 :

     nginx可以在一台服务器上设置多个虚拟主机,同一个服务器上可以有多个域名和站点

6、URL重定向 :

     可以实现灵活的url重写和重定向

7、缓存功能 :

     nginx自带缓存功能

8、日志功能 :

      可以详细的记录请求的信息,包括访问时间,请求路径 ip地址,响应状态,有注意故障排查。

      ( 系统控制的日志,记录在/ar/log/messages

      业务日志分为两种

      access.log :记录的谁访问我了,都是访问成功的记录,

      error.log :也记录谁访问了我,但是记录的是访问失败的记录 )

nginx的主要应用场景:

  • 静态服务

  • 反向代理,负载均衡

  • 缓存服务

  • 动态服务

nginx是如何实现高并发的?

  1. nginx自身代码的问题: 大量的底层代理进行了优化,同时自带了一个功能模块。epll模块,支持高并发。
  2. nginx也是一个master进程控制多个work进程,master负责收集和分发请求,work是实际执行者。每一个请求进来,master就会拉起一个work进程处理请求。同时master进程也负责监控worker的状态,worker的数量和pu要一致或者是cpu的2倍。worker处理洁求的过程中,只受内存大小的限制,所以可以处理多个请求,再加上nginx本身就是轻量级的服务,处理洁求时占用的内存本身就很少,所以可以起到大并发处理的能力。二者之间相互依赖,相互补充

常用选项 :

  • nginx -t :检查配置文件是否配查正确。

  • nginx -v :查看nginx的版本号

  • nginx -s :向主进程传输信号,停止、开启、重启、重新、加载

  • nginx -c :设置配置文件的默认路径

nginx常用信号符: 结合kill命令

  • kill -USR1 pid号 (nginx服务的pid号) : 日志分割
  • kill -s HUP pid号 : 重新加载
  • kill -s QUIT pid号 :优雅退出,有人访问时不会结束进程,访问完了,才会结束进程。
  • kill -s WINCH pid号 :优雅的结束worker,直到请求完成,才会结束worker进程
  • killall -s HUP nginx     killall可以跟服务名,也可以用pid号, kill只能跟pid号

修改linux服务器文件的最大打开数量

临时修改 :

ulimit -n 65535

永久修改 :

    vim /etc/security/limits.conf
尾行进行添加:* soft nproc 65535      #最大进程数软连接* hard nproc 65535      #最大进程数硬链接* soft nofile 65535     #最大打开文件数软连接* hard nofile 65535     #最大打开文件数硬链接

注 :65535 是Linux系统最大打开文件数量

nginx.conf文件配置内容注意事项 :

  • 全局块 :全局生效,所有模块,所有用户都牛效

  • events块 : 影响nginx服务器和用户的网络连接问题

  • http块:主要模块,配置代理,缓存,虚拟丰机,方向代理,只能品http的请求才可以写http楼块中。

               upstream  :反向代理指定服务器的命令,只能写在http块中

                upstream :七层,基于ip和端口,走http协议,所以只能在http模块中

                    stream :四层,走的是tcp或者udp流量,不能写在http当中,写在全局配置

  • server块 :包含在http模块当中,不能单独设置

  • location块 :配uri,包含在server当中的,也不能单独设置

          porxy pass :反向代理

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

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

相关文章

动态规划01: 斐波那契数列模型

第 N 个泰波那契数(easy) 题目链接: 1137. 第 N 个泰波那契数 题目描述: 泰波那契序列 Tn 定义如下: T0 0, T1 1, T2 1, 且在 n > 0 的条件下 Tn3 Tn Tn1 Tn2 给你整数 n,请返回第 n 个泰波那契数 Tn 的值。 示例 1&…

k8s-服务发现service和ingress

回到目录 service用于集群内部应用的网络调用,处理东西流量 ingress用于集群外部用户访问内部服务,处理南北流量 一 kube-proxy三种代理模式 kubernetes集群中有三层网络,一类是真实存在的,例如Node Network、Pod Network,提供真…

Node.js究竟是什么?初学者指南

如果你正在考虑使用JavaScript进行后端开发,你会听到“Node.js”这个术语。Node通常与开发功能强大的web服务器联系在一起。 但 Node.js 究竟是什么?它是和 Angular 一样的 JavaScript 框架吗?它是一种编程语言吗?它是 JavaScrip…

关键字 new 创建对象的内部步骤

工厂模式 创建对象 function creatPerson(name, age, job) {let obj new Object();obj.name name;obj.age age;obj.job job;obj.sayName function () {alert(this.name);};return obj; }let person1 creatPerson(al,26,Doctor) let person2 creatPerson(hyk,26,Teacher)…

中国中医中药元宇宙 中药材价格缘何“狂飙”

◇相比去年同期,有超200个常规品种涨幅高于50%,25个常用大宗药材涨幅超200%,个别品种甚至涨价4至9倍 ◇在中药材价格普遍高涨的情况下,部分市场仓库库存数量也较多,出现囤积居奇倾向 ◇“不少游资和热钱涌入中药材市场…

flutter开发实战-实现音效soundpool播放音频及控制播放暂停停止设置音量

flutter开发实战-实现音效soundpool播放音频 最近开发过程中遇到低配置设备时候,在Media播放音频时候出现音轨限制问题。所以将部分音频采用音效sound来播放。 一、音效类似iOS中的Sound 在iOS中使用sound来播放mp3音频示例如下 // 通过通知的Sound设置为voip_c…

Spring Boot + Vue3前后端分离实战wiki知识库系统<十一>--文档管理功能开发三

文档内容的显示: 在上一次Spring Boot Vue3前后端分离实战wiki知识库系统<十>--文档管理功能开发二文档管理模块还差文档的显示木有完成,所以接下来先将这块模块给收尾了。 增加单独获取内容的接口: 概述&#xff…

设计模式、Java8新特性实战 - List<T> 抽象统计组件

一、背景 在日常写代码的过程中,针对List集合,统计里面的某个属性,是经常的事情,针对List的某个属性的统计,我们目前大部分时候的代码都是这样写,每统计一个变量,就要定义一个值,且…

ATTCK实战系列-红队评估 (红日靶场3)Vulnstack三层网络域渗透靶场

文章目录 环境配置靶场介绍靶场设置 外网渗透信息收集端口扫描目录扫描 漏洞发现与利用获取ssh账号密码,登录centos 提权 内网渗透建立代理内网信息收集smb暴破,获取本地管理员密码 横向移动使用psexec模块上线msf 环境配置 靶场介绍 靶场地址 http:/…

pid算法C语言实现

理论我就不多说了,网都已经很多了,但能直接看到效果的确不多。这里我就提供一个C语言实现的可以看到效果的实际例程。 pid.h #ifndef __PID_H #define __PID_Htypedef struct pid {int error_last;int error_last_last;float kp;float ki;f…

cookie/sessionStorage/localStorage 的区别

cookie/sessionStorage/localStorage 的区别 cookie、sessionStorage、localStorage 都是保存本地数据的方式 其中,cookie 兼容性较好,所有浏览器均支持。浏览器针对 cookie 会有一些默认行为,比如当响应头中出现set-cookie字段时&#xff0c…

剑指Offer 20.表示数值的字符串

20.表示数值的字符串 题目 官方地址 代码(正则表达式) public boolean isNumeric (String str) {if (str null || str.length() 0)return false;return new String(str).matches("[-]?\\d*(\\.\\d)?([eE][-]?\\d)?"); }在给定的代码…

PCIE链路信息

目录 简介: 目的: 详情: 简介: PCIe有很多寄存器,也有很多控制,包括链路状态信息,上一节我们讲到了PCie的链路训练,这节文章将继续学习PCIe相关知识。 目的: 从设计…

【Python从小白到高手】---函数基础

个人主页:平行线也会相交 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 平行线也会相交 原创 收录于专栏【Python小白从入门到精通】🎈 本专栏旨在分享学习Python的一点学习心得,欢迎大家在评论区讨论💌 目录…

iPhone 6透明屏是什么?原理、特点、优势

iPhone 6透明屏是一种特殊的屏幕技术,它能够使手机屏幕变得透明,让用户能够透过屏幕看到手机背后的物体。 这种技术在科幻电影中经常出现,给人一种未来科技的感觉。下面将介绍iPhone 6透明屏的原理、特点以及可能的应用。 iPhone 6透明屏的原…

本地 shell无法连接centos 7 ?

1、首先检查是否安装ssh服务; yum list installed | grep openssh-server# 没有安装尝试安装下 yum install openssh-server 2、检查ssh服务是否开启 systemctl status sshd.service# 未开启,开启下 systemctl start sshd.service # 将sshd 服务添…

socker套接字

1.打印错误信息 2.socketaddr_in结构体 结构体: (部分库代码) (宏中的##) 3.manual TCP: SOCK_STREAM : 提供有序地,可靠的,全双工的,基于连接的流式服务 UDP: 面向数据报

406 · 和大于S的最小子数组

链接:LintCode 炼码 - ChatGPT!更高效的学习体验! 题解:同向双指针 九章算法 - 帮助更多程序员找到好工作,硅谷顶尖IT企业工程师实时在线授课为你传授面试技巧 class Solution { public:/*** param nums: an array …

《Java面向对象程序设计》学习笔记——第 5 章 继承与接口

​专栏:《Java面向对象程序设计》学习笔记 第 5 章 类与对象 5.1 子类与父类 有新类继承一般类视频讲解的状态和行为,并根据需要增加新的状态和行为。 由继承得到的类称为子类,被继承的类称为父类(超类)。 Java 不…

【maven】构建项目前clean和不clean的区别

其实很简单,但是百度搜了一下,还是没人能简单说明白。 搬用之前做C项目时总结结论: 所以自己在IDE里一遍遍测试程序能否跑通的时候,不需要clean,因为反正还要改嘛。 但是这个项目测试好了,你要打成jar包给…