一文告诉你啥是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是我们需要占用的端口号,要保证这些端口号没有被其他应用占用。

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

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

  • 33
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值