当前位置: 首页 > article >正文

一文告诉你啥是nginx,nginx基础知识详解

1、nginx简介

Nginx是一款 http 服务器 (或叫web服务器)。它是由俄罗斯人伊戈尔·赛索耶夫为俄罗斯访问量第二的 Rambler.ru 站点开发的,并于2004年首次公开发布的。

Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好。中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。

Nginx 是高性能的 HTTP 和反向代理的web服务器,处理高并发能力是十分强大的,能经受高负 载的考验,有报告表明能支持高达 50,000 个并发连接数。

Nginx支持热部署,启动简单,可以做到7*24不间断运行。几个月都不需要重新启动。

Nginx 是什么,总结一下就是这些:

①一种轻量级的web服务器

②设计思想是事件驱动的异步非阻塞处理(类node.js)

③占用内存少、启动速度快、并发能力强

④使用C语言开发

⑤扩展性好,第三方插件非常多

⑥在互联网项目中广泛应用

2、工作原理
2.1 反向代理

反向代理是指以代理服务器来接收客户端的请求,然后将请求转发给内部网络上的服务器,将从服务器上得到的结果返回给客户端,此时代理服务器对外表现为一个反向代理服务器。对于客户端来说,反向代理就相当于目标服务器,只需要将反向代理当作目标服务器一样发送请求就可以了,并且客户端不需要进行任何设置

2.2 负载均衡 

负载均衡建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。 负载均衡(Load Balance)其意思就是分摊到多个操作单元上进行执行。

nginx提供轮询法、weight权重模式、ip_hash等多种负载均衡方法,方便用户根据自己需求进行选择。

2.3 动静分离 

Nginx的静态处理能力很强,但是动态处理能力不足,因此,在企业中常用动静分离技术。动静分离技术其实是采用代理的方式,在server{}段中加入带正则匹配的location来指定匹配项针对PHP的动静分离:静态页面交给Nginx处理,动态页面交给PHP-FPM模块或Apache处理。在Nginx的配置中,是通过location配置段配合正则匹配实现静态与动态页面的不同处理方式。

上图中,location的root地址即为我们设置的静态资源地址。

3、下载运行 

Nginx 是一个很强大的高性能Web和反向代理服务,也是一种轻量级的Web服务器,可以作为独立的服务器部署网站,应用非常广泛,特别是现在前后端分离的情况下。而在开发过程中,我们常常需要在window系统下使用Nginx作为Web服务器。

(1)去到Nginx官网:http://nginx.org/,然后点击“download”

(2)在下载界面选择自己想要下载的版本,点击对应版本,下载Nginx。 

(3)Nginx的压缩包下载完成。

(4)解压压缩包到指定文件夹。

 

5)在nginx的配置文件是conf目录下的nginx.conf,默认配置的nginx监听的端口为80,如果本地电脑的80端口有被占用,如果本地80端口已经被使用则修改成其他端口。

 查看80端口是否被占用的命令

netstat -ano | findstr 0.0.0.0:80 
或
netstat -ano | findstr "80"

(6)启动Nginx

直接双击Nginxm目录下的nginx.exe,双击后一个黑色的弹窗一闪而过就消失了,启动就完成了。

或者打开电脑的cmd命令窗口,然后切换到nginx目录下,输入命令nginx.exe或者start nginx ,回车即可完成启动。 

(7)查看nginx是否成功开启

直接在浏览器地址栏输入网址:http://localhost:80(如果上面修改了其他端口,就将80改成其他端口数),然后点击回车,出现以下页面说明启动成功。

 4、关闭nginx

①:在cmd命令窗口里面输入nginx命令(快速停止nginx) :

nginx -s stop
或者使用(完整有序的停止nginx)命令:
nginx -s quit

②:使用taskkill命令:

taskkill /f /t /im nginx.exe
5、nginx配置 

找到nginx在电脑的安装位置,找到conf->nginx.conf即为nginx的配置文件。

打开后会发现,配置文件基本都有相关文字说明,方便我们进行配置。

这里主要介绍负载均衡,我们可以选择我们项目需要的负载均衡模式,如我们需要ip_hash配置,可以这样配置 ,其中8034、8035和8036是我们需要占用的端口号,要保证这些端口号没有被其他应用占用。

剩下的主机配置,包括域名配置,静态资源地址配置按需配置即可 

 今天就大概介绍这么多吧。

http://www.lryc.cn/news/2415937.html

相关文章:

  • 导航栏透明化方案
  • 晨枫U盘维护工具V2.0 安装教程
  • 挑战318川藏线
  • 外挂原理之植物大战僵尸
  • 深度xp精简版6.2_珍藏多年的精品,老机专用:深度技术WinXP SP2 V5系列
  • Struts2 基础入门
  • 亚马逊分类目录_新版亚马逊分类目录v2.4程序源码官方分享下载
  • 浅显易懂理解端口映射技术
  • 最新RemObjects,您值得拥有
  • 《Windows 核心编程》27章:硬件输入模型和局部输入状态
  • VC 调试技术与异常(错误)处理
  • Asp.net Core WebHost寄宿在Host上
  • 人小鬼大 微软优化工具TweakUI使用感受
  • discuz防灌水机制
  • 职工信息工资管理系统(设计文档+源代码+SQL文件)
  • DjangoBook完整发布了
  • 冷却水的循环方式有哪几种_工业循环冷却水处理知识---系列1
  • man使用
  • 人生哲理
  • 百度历年算法大盘点
  • MSDTC不能启动的几个解决方法
  • QQ连连看6.0 逆向分析
  • 解决mfc71u.dll文件找不到
  • 求索溪新规划题解
  • 灰鸽子病毒——网络神偷之后应用最广的反弹端口***
  • 应用程序正常初始化(0xc015002)失败解决方法
  • 富爸爸大预言
  • 中国金融集成电路(IC)卡规范
  • 微软更新,错误号: 0x80072EE2的解决方法
  • 启动应用程序出现mfc42.dll缺少问题解决