Nginx:简介、安装与部署

一、Nginx简介

        Nginx是一个很好的高性能Web和反向大力服务器,它具有很多非常优越的特性:在高连接并发的情况下,Nginx是Apahe服务器的不错的替代品:Nginx在美国是虚拟主机生意选择的软件平台之一。能够支持50000个并发连接数的响应,Nginx选择了Epoll and kqueue作为开发模型。

        Nginx作为负载据衡服务器:Nginx既可以在内部直接支持也可以直接对外进行服务,也可以支持作为HTTP代理服务器对外进行服务。Ngxinx采用C语言编写,不论是系统资源开销还是CPIU使用效率都比Perlbal(事务处理模型)要好很多。

二、Nginx特性

模块化设计:较好的扩展性:支持众多的模块,和第三方模块

高可靠:主控进程(Master)负责解析配置文件、启动和Socke、生成多个工作线程(Work),工作线程来接收、处理用户请求;【Master --> Work】

低内存消耗:1000个Keeep-alive模式下的connection,仅需要2.5MB内存

支持热部署:不停机而更新配置文件、日志文件滚动、升级程序版本

支持 时间驱动:支持AIO、mmap等性能优化

高并发连接:官方测试能够支撑5万并发连接数,在实际生产环境中跑到2~3万并发连接

三、Ngxin基本功能

  •   静态资源的web服务器,能缓存打开的文件 描述符
  •   http, smtp, pop3协议的反向代理服务器,缓存、负载均衡;
  •  支持FastCGI (fpm)
  •   模块化,非DSO机制,过滤器zip,SSI及图像大小调整;
  •   支持SSL

四、扩展功能

  • 基于名称和IP的虚拟主机;
  • 支持keepalive
  • 支持平滑升级
  • 定制访问日志 ,支持使用日志缓冲区提高日志存储性能
  • 支持url rewrite
  • 支持路径别名
  • 支持基于IP及用户的访问控制
  • 支持速率限制,支持并发数限制

五、Nginx基本架构


nginx: 非阻塞、事件驱动、一个master生成一个或多个worker, 每个worker响应n个(worker * n)请求;

支持基于事件驱动: epoll(边缘触发)、kqueue、/dev/poll;

  • Epoll:主要是在Linxu上使用
  • Kqueue:主要是在BSD Unix上使用
  • /dev/poll:主要是在solaris Unix上使用

支持IO复用器支持:Select、Poll、Rt Signal

支持sendfile(默认发送很小不会超过KB), sendfile64(可以支持更大的)

  •   IO调用
  • 支持SendFile之后

支持AIO
支持MMAP

六、Nginx安装
 

1、安装环境

需要gcc系统自带了,没有自带的需要先安装:yum install gcc-c++
需要安装pcre:yum install pcre*
需要安装zlib:yum install zlib zlib-devel
如果需要支持ssl的话,需要安装Open SSL:安装命令:yum -y install  zlib zlib-devel   openssl openssl-deve

2、下载源码包地址

下载源码包地址:https://nginx.org/en/download.html

3、解压编译安装

解压:tar -xvf nginx-1.23.0.tar.zip
编译安装:./configure --prefix=/app/nginx --user=nginx --group=nginx --with-http_ssl_module --with-http_realip_module --with-http_flv_module --with-http_image_filter_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_stub_status_module --error-log-path=/data/logs/nginx/error.log --http-log-path=/data/logs/nginx/access.log & make & make install 

4、访问端口

七、Nginx常见的编译模块

./configure --help #查看可以是编译的模块

--with-http:开启某个模块
--without-http:默认启用关闭的使用without

八、启动命令

测试配置文件:./nginx/sbin/nginx -t
启动:
./nginx/sbin/nginx

停止:./nginx/sbin/nginx -s stop 或者nginx -s quit

重启:./nginx/sbin/nginx  -s reload

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

若依vue-修改标题和图标

因为我们拉下来的代码,图标和logo是若依的,这和我们需要做出来的效果有差别 这个时候就需要去对应的文件内去修改标题和图标 (主要就是这两个地方的图标和标题) 修改菜单里面的logo以及文字 修改文字 位置: src/layout/component/Sidebar/Logo.vue 此处的title文字是定义在…

plantUML学习与实战

背景 在日常工作或者生活中,使用交互图来描述想法,往往相对于文字来说,可读性更高,同时一定程度上可以提高沟通效率,但是苦于,不想对一堆控件拖拖拉拉,本人就是一个很讨厌画图,但是…

谈思生物医疗直播 | 利用类器官模型研究肺的发育与稳态

类器官是一种三维细胞培养物,其在细胞类型,空间结构及生理功能上能够模拟对应器官,从而提供一个高度生理相关的系统。自2009年小肠类器官首次建立至今,类器官研究已经延伸到多个组织系统,并成为当下生命科学领域最热门…

改善钢棒直线度检测可靠性 在线直线度测量仪替代人工检测

根据GB/T908-2019标准规定,钢棒的尺寸包括直径或边长、长度、弯曲度等。因此钢棒在生产中进行尺寸检测,保证成品符合规格,是降低废品率的重要一环。 有些钢棒的弯曲很明显,肉眼可看,但更有很多不明显的需要借助工具检测…

亿级流量架构服务降级

什么是服务降级 如果看过我前面对服务限流的分析,理解服务降级就很容易了,对于一个景区,平时随便进出,但是一到春节或者十一国庆这种情况客流量激增,那么景区会限制同时进去的人数,这叫限流,那么什么是服务降级呢? 简单来说就是,将一些不太重要的景区项目砍掉,平时就那么三五…

[PTQ]均匀量化和非均匀量化

均匀量化和非均匀量化 基本概念 量化出发点:使用整型数据类型代替浮点数据,从而节省存储空间同时加快推理速度。量化基本形式 均匀量化:浮点线性映射到定点整型上,可以根据scale/offset完成量化/反量化操作。非均匀量化 PowersO…

CentOS 7 使用cJSON 库

什么是JSON JSON是一种轻量级的数据交换格式,可读性强、编写简单。键值对组合编写规则,键名使用双引号包裹,冒号:分隔符后面紧跟着数值,有两种常用的数据类型是对象和数组。 对象:使用花括号{}包裹起来的…

怎么用 AI 来智能审核 PDF合同?5步搞定!

大家都知道审合同是一个比较耗费精力的过程,有没有更好的办法来智能审核PDF合同呢,今天就教大家一招,用AI来智能审核PDF合同。 在开始之前呢,我们要找到一款带AI功能的工具,我试用过擎盾智能合同审查、幂律智能等工具,感觉都不太理想,经过一段时间的摸索,我找到了一款比较适合…

【Linux】关系运算符、shell判断脚本执行时是否有传参、判断文件/文件夹是否存在、判断字符串是否相等、判断上个命令执行是否正常、判断字符串是否为空

🦄 个人主页——🎐个人主页 🎐✨🍁 🪁🍁🪁🍁🪁🍁🪁🍁 感谢点赞和关注 ,每天进步一点点!加油!&…

无损压缩技巧:减小PDF文件尺寸的有效方法

我们在制作pdf文档的时候,会加入许多内容,文字、图片等等,素材添加的过多之后就会导致pdf文档特别大,在上传或者储存时,就会特别不方便,所以今天就告诉大家一个pdf压缩的方法,使用pdf在线压缩工…

【C++】:STL中的string类的增删查改的底层模拟实现

本篇博客仅仅实现存储字符(串)的string 同时由于Cstring库设计的不合理,我仅实现一些最常见的增删查改接口 接下来给出的接口都是基于以下框架: private:char* _str;//思考如何不用constsize_t _size;size_t _capacity;//这样写可以const static size_t…

csdn最新最全的Selenium教程:定位frame框架中的元素

定位frame框架中的元素 在web应用中经常会出现frame嵌套的应用,假设页面上有A,B两个frame,其中B在A内,那么定位B中的内容则需要先到A,再到B。 switch_to.frame方法可以把当前定位的主题切换到frame里,在frame里实际是嵌套了另外一…

Android Studio xml文件id爆红但是项目可以运行

这种原因是你的R文件太大了(超过了Android Studio的上限25.6M了) 解决办法如下: Help -> Edit Custom Properties -> create custom properties?(yes) ->添加 idea.max.intellisense.filesize5000 最后需要重启Android Studio

【double check 读写锁】

使用double check 读写锁 读多写少场景 记录下 //来源 jdbc 中的查询连接信息 //public abstract class ConnectionUrl implements DatabaseUrlContainer public static ConnectionUrl getConnectionUrlInstance(String connString, Properties info) {if (connString null…

算法刷题-动态规划2(继续)

算法刷题-动态规划2 珠宝的最高价值下降路径最小和 珠宝的最高价值 题目 大佬思路 多开一行使得代码更加的简洁 移动到右侧和下侧 dp[ i ][ j ]有两种情况: 第一种是从上面来的礼物最大价值:dp[ i ][ j ] dp[ i - 1 ][ j ] g[ i ][ j ] 第二种是从左…

【MySQL】宝塔面板结合内网穿透实现公网远程访问

文章目录 前言1.Mysql服务安装2.创建数据库3.安装cpolar3.2 创建HTTP隧道4.远程连接5.固定TCP地址5.1 保留一个固定的公网TCP端口地址5.2 配置固定公网TCP端口地址 前言 宝塔面板的简易操作性,使得运维难度降低,简化了Linux命令行进行繁琐的配置,下面简单几步,通过宝塔面板cpo…

Course1-Week2-多输入变量的回归问题

Course1-Week2-多输入变量的回归问题 文章目录 Course1-Week2-多输入变量的回归问题1. 向量化和多元线性回归1.1 多维特征1.2 向量化1.3 用于多元线性回归的梯度下降法 2. 使梯度下降法更快收敛的技巧2.1 特征缩放2.2 判断梯度下降是否收敛2.3 如何设置学习率 3. 特征工程3.1 选…

react中的state

没想到hooks中也有state这一说法 看下面的两个案例 1、无state变化不会执行父子函数 2、有state更改执行父子函数

竞赛选题 车道线检测(自动驾驶 机器视觉)

0 前言 无人驾驶技术是机器学习为主的一门前沿领域,在无人驾驶领域中机器学习的各种算法随处可见,今天学长给大家介绍无人驾驶技术中的车道线检测。 1 车道线检测 在无人驾驶领域每一个任务都是相当复杂,看上去无从下手。那么面对这样极其…

数据提取PDF SDK的对比推荐

PDF 已迅速成为跨各种平台共享和分发文档的首选格式,它作为一种数据来源,常见于公司的各种报告和报表中。为了能更好地分析、处理这些数据信息,我们需要检测和提取 PDF 中的数据,并将其转换为可用且有意义的格式。而数据提取的 PD…