Nginx:简介、安装与部署

news2024/9/23 23:33:59

一、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

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

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

相关文章

《洛谷深入浅出基础篇》P4017最大食物链————拓扑排序

上链接:P4017 最大食物链计数 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)https://www.luogu.com.cn/problem/P4017 上题干: 题目背景 你知道食物链吗?Delia 生物考试的时候,数食物链条数的题目全都错了,因为她总是…

高质量短效SOCKS5代理IP是什么意思?作为技术你了解吗

小张是一位网络安全技术测试员,最近他接到了一个头疼的任务,那就是评估公司系统的安全性,因此他前来咨询,在得知SOCKS5代理IP可以帮他之后,他不禁产生疑问,这是什么原理?其实和小张一样的朋友不…

ELK企业级日志分析平台——kibana数据可视化

部署 新建虚拟机server5,部署kibana [rootelk5 ~]# rpm -ivh kibana-7.6.1-x86_64.rpm [rootelk5 ~]# cd /etc/kibana/[rootelk5 kibana]# vim kibana.ymlserver.host: "0.0.0.0"elasticsearch.hosts: ["http://192.168.56.11:9200"]i18n.local…

嵌入式开发从入门到入土

写在前面的话 嵌入式开发涉及的层面很广,它既有底层硬件的开发,又涉及上层应用的开发,也就是所谓的系统集成的硬件和软件。而C语言不仅具有汇编语言操作底层的优势,又具有高级开发语言的功能性强的特点,当之无愧地成为…

JavaScript框架 Angular、React、Vue.js 的全栈解决方案比较

在 Web 开发领域,JavaScript 提供大量技术栈可供选择。其中最典型的三套组合,分别是 MERN、MEAN 和 MEVN。前端框架(React、Angular 和 Vue)进行简化比较。 MERN 技术栈详解 MERN 技术栈包含四大具体组件: MongoDB&am…

保姆级 Keras 实现 YOLO v3 一

保姆级 Keras 实现 YOLO v3 一 一. YOLO v3 总览二. 特征提取网络特征提取网络代码实现 三. 特征融合特征融合代码实现 四. 网络输出模型输出代码实现 五. 网络模型代码实现六. 代码下载 如果要给 YOLO 目标检测算法一个评价的话, 就是快和准, 现在已经到了 v8, 但是我为什么还…

前端环境变量释义process.env与import.meta.env

视频教程 彻底搞懂前端环境变量使用和原理,超清楚_哔哩哔哩_bilibili 添加命令行参数 --modexxxxx 新建.env.xxxx文件,其中.env文件会在所有环境下生效 以VITE_开头,字符串无需加双引号 使用import.meta.env.VITE_xxxxx进行调用

JavaScript基础—引入方式、注释和结束符、输入和输出、变量、常量、数据类型、检测数据类型、类型转换、综合案例—用户订单信息

版本说明 当前版本号[20231123]。 版本修改说明20231123初版 目录 文章目录 版本说明目录JavaScript 基础 - 第1天介绍引入方式内部方式外部形式 注释和结束符单行注释多行注释 结束符输入和输出输出输入 变量声明赋值变量初始化更新变量 关键字变量名命名规则 常量数据类型…

2023年11个最佳免费WordPress主题

如果您刚刚开始使用 WordPress,您可能会很自然地认为,只要免费的WordPress主题看起来像您想要的网站主题,那么它就很合适。不幸的是,事情并没有那么简单。这就是为什么在今天的文章中,我们概述了一份可靠的标准清单&am…

投资房产的理由与好处,投资买房的方法与技巧

一、教程描述 本套买房教程,大小2.15G,共有23个文件。 二、教程目录 00.她23岁北漂月薪600,7年后50万在京买了第一套房,如今身价上千万.mpg 01.这个游戏,有些人输了所有钱,一辈子也不明白这个道理.mpg …

脉冲幅度调制信号的功率谱计算

本篇文章是博主在通信等领域学习时,用于个人学习、研究或者欣赏使用,并基于博主对人工智能等领域的一些理解而记录的学习摘录和笔记,若有不当和侵权之处,指出后将会立即改正,还望谅解。文章分类在通信领域笔记&#xf…

Hibernate批量处理数据

概念: 批量处理数据是指在一个事务场景中处理大量数据。 在应用程序中难以避免进行批量操作,Hibernate提供了以下方式进行批量处理数据: (1)使用HQL进行批量操作 数据库层面 executeUpdate() (2)使用JDBC API进行批量操作 数据库层面 …

P6 C++控制流语句(continue, break, return)

前言 今天我们讲的是控制流语句,本期内容是上期课程的延续。 控制流语句一般与循环语句一起工作,它们让我们可以更好的控制这些循环的实际运行。 我们有三个主要的控制流语句可以使用,continue 、break 和 return,它们有不同的…

Nginx模块开发之http handler实现流量统计(1)

文章目录 一、handler简介二、Nginx handler模块开发2.1、示例代码2.2、编写config文件2.3、编译模块到Nginx源码中2.4、修改conf文件2.5、执行效果 三、Nginx的热更新总结 一、handler简介 Handler模块就是接受来自客户端的请求并产生输出的模块。 配置文件中使用location指令…

UML建模图文详解教程06——顺序图

版权声明 本文原创作者:谷哥的小弟作者博客地址:http://blog.csdn.net/lfdfhl本文参考资料:《UML面向对象分析、建模与设计(第2版)》吕云翔,赵天宇 著 顺序图概述 顺序图(sequence diagram,也…

docker安装以及idea访问docker

其他目录: docker 安装环境(有空更新) url “” docker 打包java包,并运行(有空更新) url “” docker 打包vue (有空更新) url “” docker 多服务 (有空更新&#xff…

扩展外部eMMC存储

By Toradex胡珊逢 简介 存储器的嵌入式设备中扮演着重要角色,上面不仅安装有操作系统,同时也保存着应用程序和运行日志等。对于存储器如 eMMC,写入的数据量决定其使用寿命,对于有大量日志记录的应用,通常可以选用一个…

【Unity】接入MAX聚合广告SDK Applovin + GoogleAdmob

版本: Unity:2019.4.35f1gradle plugin: 4.2.0 (实际要7.0 对应build_tools:34.0.0) gradle: 6.7.1 (实际要7.0 对应build_tools:34.0.0) jdk: 1.8.0_241build_tools: 34.0.0 ndk: android-ndk-r19 文档: 6.0.1(Andro…

windows根据已有的安卓签名文件获取MD5签名

windows根据已有的安卓签名文件获取MD5签名 0 现状 uniapp 本机号码一键登录需要MD5的,现有的签名文件但是只有SHA1和SHA256 查看SHA1和SHA256 keytool -list -v -keystore [你的.keystore文件]1 前提 已有生成签名文件的环境 搭建Openssl环境,设置…

基于Springboot+Vue选课系统

选课系统要求 (1)数据库表:教师信息表、学生信息表、课程表、选课表 其中,教师信息表、学生信息表和选课表的数据需要提前设置,本题主要操作课程表 (2) 技术架构: 后台使用springboot 前端使用vue-admin-template (3) 考试时间&…