Nginx 简介

1、概念介绍

Nginx ("engine x") 是一个轻量级、高性能的 WEB 服务器软件和反向代理服务器。

Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,第一个公开版本 0.1.0 发布于 2004 年 10 月 4 日。其将源代码以类 BSD 许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。

Nginx 以事件驱动(epoll)的方式编写,所以有非常好的性能,同时也是一个非常高效的反向代理、负载平衡。但是 Nginx 并不支持 cgi 方式运行,原因是可以减少因此带来的一些程序上的漏洞。所以必须使用 FastCGI 方式来执行 PHP 程序。

由于 Nginx 本身的一些优点,轻量,开源,易用,越来越多的公司使用 nginx 作为自己公司的 web 应用服务器。

正向代理

正向代理:用于代理内部网络对 Internet 的连接请求(如 VPN/NAT),客户端指定代理服务器,并将本来要直接发送给目标 Web 服务器的 HTTP 请求先发送到代理服务器上, 然后由代理服务器去访问 Web 服务器, 并将 Web 服务器的 Response 回传给客户端。

通过代理服务器来访问服务器的过程就叫正向代理。需要在客户端配置代理服务器进行指定网站访问。

反向代理

反向代理:以代理服务器来接受客户端的连接请求,然后将请求转发给网络上的web 服务器(可能是 apache、nginx、tomcat、iis 等),并将从 web 服务器上得到的结果返回给请求连接的客户端,此时代理服务器对外就表现为一个服务器。

反向代理的作用:

  • 保护网站安全:任何来自 Internet 的请求都必须先经过代理服务器
  • 加速 Web 请求:可以缓存真实 Web 服务器上的某些静态资源,减轻真实 Web 服务器的负载压力
  • 现负载均衡:充当负载均衡服务器均衡地分发请求,平衡集群中各个服务器的负载压力
负载均衡

增加服务器的数量,然后将请求分发到各个服务器上,将原先请求集中到单个服务器上的情况改为将请求分发到多个服务器上,将负载分发到不同的服务器,也就是我们所说的负载均衡。

Nginx VS Apache

Nginx 优点

Apache 优点

轻量级,采用 C 进行编写,同样的 web 服务,会占用更少的内存及资源

apache 的 rewrite 比 nginx 强大,在 rewrite 频繁的情况下,用 apache。

抗并发,nginx 以 epoll and kqueue 作为开发模型,处理请求是异步非阻塞的, 负载能力比 apache 高很多,而 apache 则是阻塞型的。在高并发下 nginx 能保持 低资源低消耗高性能 ,而 apache 在 PHP 处理慢或者前端压力很大的情况下,很容易出现进程数飙升,而拒绝服务的现象。

动态页面,Apache 对 PHP 支持比较简单,Nginx 需要配合其他后端用,一般动态请求要 apache 去做,nginx 适合静态请求和反向代理。

nginx 处理静态文件好,静态处理性能比 apache 高三倍以上

apache 更为成熟,少 bug ,nginx 的 bug 相对较多。

nginx 的设计高度模块化,编写模块相对简单

apache 超稳定。

nginx 配置简洁,正则配置让很多事情变得简单,而且改完配置能使用 -t 测试配置有没有问题,apache 配置复杂 。

apache 对 PHP 支持比较简单,nginx 需要配合其他后端用。

nginx 作为负载均衡服务器,支持 7 层负载均衡

nginx 本身就是一个反向代理服务器,而且可以作为非常优秀的邮件代理服务器

apache 发展到现在,模块超多,基本想到的都可以找到。

启动特别容易, 并且几乎可以做到 7*24 不间断运行,即使运行数个月也不需要重新启动,还能够不间断服务的情况下进行软件版本的升级 。

apache 仍然是目前的主流,拥有丰富的特性,成熟的技术和开发社区

社区活跃,各种高性能模块出品迅速

对 web server 的需求决定你的选择。大部分情况下 nginx 都优于 APACHE,比如说静态文件处理、PHP-CGI 的支持、反向代理功能、前端 Cache、维持连接等等,Nginx 并发性比较好,CPU 内存占用低。

在 Apache+PHP模式下,如果 PHP 处理慢或者前端压力很大的情况下,很容易出现Apache进程数飙升,从而拒绝服务的现象。Apache在处理动态有优势,如果 rewrite 频繁,那还是 Apache比较好。

2、服务器类型

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

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

相关文章

实战之-Redis代替session实现用户登录

一、设计key的结构 首先我们要思考一下利用redis来存储数据,那么到底使用哪种结构呢?由于存入的数据比较简单,我们可以考虑使用String,或者是使用哈希,如下图,如果使用String,注意他的value&…

海康visionmaster-VM 嵌入:嵌入用户软件界面的方法

描述 环境:VM4.0.0 VS2015 及以上 现象:将 VM 整体嵌入到客户软件界面中? 解答 将 VM 软件整体嵌入到客户软件中,需要利用 Panel 控件,并且需要先启动 VM 软件,具 体代码如下: C# [DllImport(“…

ARM 1.16

TCP的特点 面向连接 面向连接,是指发送数据之前必须在两端建立连接。建立连接的方法是“三次握手”,这样能建立可靠的连接。建立连接,是为数据的可靠传输打下了基础。 仅支持单播传输 每条TCP传输连接只能有两个端点&#…

安全帽/反光衣检测AI边缘计算智能分析网关V4如何修改IP地址?

智能分析网关V4是TSINGSEE青犀推出的一款AI边缘计算智能硬件,硬件采用BM1684芯片,集成高性能8核ARM A53,主频高达2.3GHz,INT8峰值算力高达17.6Tops,FB32高精度算力达到2.2T,硬件内置了近40种AI算法模型&…

C++中基类的析构函数为什么要用virtual虚析构函数

直接的讲,C中基类采用virtual虚析构函数是为了防止内存泄漏。具体地说,如果派生类中申请了堆内存空间,并在其析构函数中对这些内存空间进行释放。假设基类中采用的是非虚析构函数,当删除基类指针指向的派生类对象时就不会触发动态…

基于gd32f103移植freemodbus master 主栈

1.移植freemodbus master需要先移植RT-Thread操作系统 GD32F103C8T6移植 RTT Nano 教程-CSDN博客 2.移植freemodbus master协议栈 在移植了RTT以后,我们需要移植就只有串口相关的函数 移植freemodbus master协议栈具体步骤 下载移植freemodbus master协议栈 源码添加协议栈…

随心玩玩(十三)Stable Diffusion初窥门径

写在前面:时代在进步,技术在进步,赶紧跑来玩玩 文章目录 简介配置要求安装部署下载模型启动ui插件安装教程分区提示词插件Adetailer插件提示词的分步采样采样器选择采样器的收敛性UniPC采样器 高分辨率修复 (Hires. fix)图生图ControlNet介绍…

申请开启|成为亚马逊云科技 Community Builder,共建云端社区!

在探索由技术打造的云端世界时,和同行者一起学习,与技术专家共同探讨是开发者成长的最佳助力! 亚马逊云科技开发者社区 Community Builders 为技术爱好者和新兴思想领袖提供技术资源、学习和交流机会,帮助开发者探索、分享技术相关…

常见的系统性能指标:QPS、TPS

🌹作者主页:青花锁 🌹简介:Java领域优质创作者🏆、Java微服务架构公号作者😄 🌹简历模板、学习资料、面试题库、技术互助 🌹文末获取联系方式 📝 系列专栏目录 [Java项目…

[zabbix] zabbix监控其他

一、温习zabbix自定义监控 二、zabbix 自动发现与自动注册 2.1 zabbix 自动发现 //zabbix 自动发现(对于 agent2 是被动模式) zabbix server 主动的去发现所有的客户端,然后将客户端的信息登记在服务端上。 缺点是如果定义的网段中的主机数…

linux系统忘记mysql忘记密码!!!!

linux系统忘记mysql忘记密码!!!! linux系统忘记mysql忘记密码!!!! 1、切换root 用户 2、切换到、etc/mysql目录 3、使用输入vim debain.cnf查看文件 4、查看用户 debian-sys-maint…

为什么 Golang Fasthttp 选择使用 slice 而非 map 存储请求数据

文章目录 Slice vs Map:基本概念内存分配和性能Fasthttp 中的 SliceMap性能优化的深层原因HTTP Headers 的特性CPU 预加载特性 结论 Fasthttp 是一个高性能的 Golang HTTP 框架,它在设计上做了许多优化以提高性能。其中一个显著的设计选择是使用 slice 而…