Nginx是什么?有哪些优点?

青旅半醒 2023-10-10 16:12 270阅读 0赞

Nginx(“engine x”)一个具有高性能的【HTTP】和【反向代理】的【WEB服务器】,同时也是一个【POP3/SMTP/IMAP代理服务器】,是由伊戈尔·赛索耶夫(俄罗斯人)使用C语言编写的,Nginx的第一个版本是2004年10月4号发布的0.1.0版本。另外值得一提的是伊戈尔·赛索耶夫将Nginx的源码进行了开源,这也为Nginx的发展提供了良好的保障。Nginx的优点有哪些?下面我们详细介绍。

Nginx的优点:

(1)速度更快、并发更高

单次请求或者高并发请求的环境下,Nginx都会比其他Web服务器响应的速度更快。一方面在正常情况下,单次请求会得到更快的响应,另一方面,在高峰期(如有数以万计的并发请求),Nginx比其他Web服务器更快的响应请求。Nginx之所以有这么高的并发处理能力和这么好的性能原因在于Nginx采用了多进程和I/O多路复用(epoll)的底层实现。

(2)配置简单,扩展性强

Nginx的设计极具扩展性,它本身就是由很多模块组成,这些模块的使用可以通过配置文件的配置来添加。这些模块有官方提供的也有第三方提供的模块,如果需要完全可以开发服务自己业务特性的定制模块。

(3)高可靠性

Nginx采用的是多进程模式运行,其中有一个master主进程和N多个worker进程,worker进程的数量我们可以手动设置,每个worker进程之间都是相互独立提供服务,并且master主进程可以在某一个worker进程出错时,快速去”拉起”新的worker进程提供服务。

(4)热部署

现在互联网项目都要求以7*24小时进行服务的提供,针对于这一要求,Nginx也提供了热部署功能,即可以在Nginx不停止的情况下,对Nginx进行文件升级、更新配置和更换日志文件等功能。

(5)成本低、BSD许可证

BSD是一个开源的许可证,世界上的开源许可证有很多,现在比较流行的有六种分别是GPL、BSD、MIT、Mozilla、Apache、LGPL。这六种的区别是什么,我们可以通过下面一张图来解释下:

dc0f48158bd6f2853bc27bc9914f4b84.png

Nginx本身是开源的,我们不仅可以免费的将Nginx应用在商业领域,而且还可以在项目中直接修改Nginx的源码来定制自己的特殊要求。这些点也都是Nginx为什么能吸引无数开发者继续为Nginx来贡献自己的智慧和青春。

Nginx升级教程:两种方案任你选

如果想对Nginx的版本进行更新,或者要应用一些新的模块,最简单的做法就是停止当前的Nginx服务,然后开启新的Nginx服务。但是这样会导致在一段时间内,用户是无法访问服务器。为了解决这个问题,我们就需要用到Nginx服务器提供的平滑升级功能。这个也是Nginx的一大特点,使用这种方式,就可以使Nginx在7*24小时不间断的提供服务了。接下来我们分析下需求:

需求:Nginx的版本最开始使用的是Nginx-1.14.2,由于服务升级,需要将Nginx的版本升级到Nginx-1.16.1,要求Nginx不能中断提供服务。

为了应对上述的需求,这里我们给大家提供两种解决方案:

方案一:使用Nginx服务信号完成Nginx的升级

方案二:使用Nginx安装目录的make命令完成升级

环境准备

(1)先准备两个版本的Nginx分别是 1.14.2和1.16.1

(2)使用Nginx源码安装的方式将1.14.2版本安装成功并正确访问

  1. 进入安装目录
  2. ./configure
  3. make&&makeinstall

(3)将Nginx1.16.1进行参数配置和编译,不需要进行安装。

  1. 进入安装目录
  2. ./configure
  3. make

方案一:使用Nginx服务信号进行升级

第一步:将1.14.2版本的sbin目录下的nginx进行备份

  1. cd /usr/local/nginx/sbin
  2. mv nginx nginxold

第二步:将Nginx1.16.1安装目录编译后的objs目录下的nginx文件,拷贝到原来/usr/local/nginx/sbin目录下

  1. cd ~/nginx/core/nginx-1.16.1/objs
  2. cp nginx /usr/local/nginx/sbin

第三步:发送信号USR2给Nginx的1.14.2版本对应的master进程

第四步:发送信号QUIT给Nginx的1.14.2版本对应的master进程

  1. kill -QUIT `more /usr/local/logs/nginx.pid.oldbin`

方案二:使用Nginx安装目录的make命令完成升级

第一步:将1.14.2版本的sbin目录下的nginx进行备份

  1. cd /usr/local/nginx/sbin
  2. mv nginx nginxold

第二步:将Nginx1.16.1安装目录编译后的objs目录下的nginx文件,拷贝到原来/usr/local/nginx/sbin目录下

  1. cd ~/nginx/core/nginx-1.16.1/objs
  2. cp nginx /usr/local/nginx/sbin

第三步:进入到安装目录,执行make upgrade

327a0502beb74dacb9c068fa868afbc6.jpeg

第四步:查看是否更新成功

  1. ./nginx -v

在整个过程中,其实Nginx是一直对外提供服务的。并且当Nginx的服务器启动成功后,我们是可以通过浏览器进行直接访问的,同时我们可以通过更改html目录下的页面来修改我们在页面上所看到的内容,那么问题来了,为什么我们要修改html目录下的文件,能不能多添加一些页面是Nginx的功能更加丰富,还有前面聊到Nginx的前端功能又是如何来实现的,这就需要我们对Nginx的核心配置文件进行一个详细的学习。

Nginx使用教程:Nginx从入门到精通

资料截图

7d6c9c4f58d5ce2caea663d55059de7b.jpeg

6b576a16e59ce44b7c836d2ced3f6ae6.jpeg

课程简介:

Nginx是一个高性能的http服务器,可以部署静态资源,做反向代理和负载均衡等内容,随着现在项目的流量越来越大,如果提升项目的并发访问量是一个比较流行的技术难题。为了更全面的使用和了解Nginx,所以对Nginx的相关内容进行了详细的讲解。现在市面上的Nginx资源非常多,本课程想通过整合,把关于Nginx从基础到进阶中常见的,比较高频的内容进行统一讲解,最后通过一个比较流行的视频直播系统部署来加强对Nginx的使用。

在本套课程中,我们会讲解到Nginx的基础包含Nginx的背景介绍、功能优点分析、下载安装及常见配置文件对Nginx进行一个入门,同时将Nginx的三大主要功能:静态资源部署、反向代理、负责均衡的使用进行详细的讲解。然后再通过负载均衡和LVS+Keepalived实现本地Nginx服务器的负载均衡。最后我们还会去使用Lua和Nginx完成数据的常用处理。

Java进阶从0到1学会Nginx分布式框架

nginx视频教程主要内容

第一天:

•Nginx的基础

•Nginx背景介绍

•常见服务器对比

•Nginx的优点及常用场景

•Nginx官方网站介绍

•Nginx的环境准备

•Nginx的多种安装方式

•Nginx目录结构分析

•Nginx的服务器启停命令与信号量控制

•Nginx实现热部署

•Nginx配置文件讲解

第二天:

•Nginx的环境部署

•Nginx的入门案例

•Nginx设置成系统服务

•Nginx中静态资源概念

•Nginx中静态资源配置

•Nginx中静态资源性能优化

•Nginx中静态资源压缩

•Nginx中跨域问题解决方案

•Nginx中防止资源盗链

第三天:

•Rewrite与代理

•Rewrite的配置

•Rewrite的使用案例

•Nginx反向代理相关配置

•Nginx的SSL设置

•Nginx反向代理优化

第四天:

•负载均衡与缓存

•Nginx负载均衡的概念

•Nginx负载均衡的四层与七层负载

•Nginx负载均衡的状态

•Nginx负载均衡的策略

•Nginx四层负载均衡的案例

•Nginx缓存的概念

•Nginx缓存的案例实现

•Nginx中关于缓存的相关配置

第五天:

•Nginx部署Tomcat及高可用环境搭建

•Nginx反向代理访问Tomcat资源

•Nginx实现动静分离

•Nginx实现负载均衡

•Nginx高可用环境搭建

•Nginx制作下载站点和认证模块

•Lua简介

•Lua的语法、类型、条件判断等

•Nginx+Lua实现Redis的操作

•Nginx+Lua实现Mysql的操作

•OpenResty+Lua实现缓存预热

发表评论

表情:
评论列表 (有 0 条评论,270人围观)

还没有评论,来说两句吧...

相关阅读

    相关 nginx什么优点

    nginx官方测试能支撑5万并发连接;Nginx服务器专为性能优化而开发。它支持内核Poll模型,能经受高负载的考验。Nginx服务器采取了分阶段资源分配技术,这使得它的...