Nginx简介(正反向代理、负载均衡、动静分离)

1. Nginx简介

公司产品出现瓶颈?

       我们公司项目刚刚上线的时候,并发量小,用户使用的少,所以在低并发情况下,一个jar包启动应用就够了,然后内部的tomcat返回内容给用户。
       在这里插入图片描述
       但是慢慢的,使用我们平台的用户越来越多了,并发量慢慢增大了,这时候一台服务器满足不了我们的需求了。

       在这里插入图片描述
       于是我们横向扩展,又增加了服务器。这个时候几个项目启动在不同的服务器上,用户要访问,就需要增加一个代理服务器了,通过代理服务器来帮我们转发和处理请求。
       在这里插入图片描述
       我们希望这个代理服务器可以帮我们接收用户的请求(客户只向代理服务器发送请求),然后将用户的请求按照规则帮我们转发到不同的服务器节点之上(代理服务器将请求分发到各服务器)。这个过程用户是无感知的,用户并不知道是哪个服务器返回的结果,我们还希望他可以按照服务器的性能不同权重选择(服务器配置不同,多将请求转到服务器性能高的上面)。保证最佳体验,所以我们使用了Nginx。

什么是Nginx?
       Nginx(engine X)是一个高性能的Http和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。Nginx是由伊戈尔.赛索耶夫为俄罗斯访问量第二的Rambler.ru站点开发的,第一个公开版本0.1.0发布于2004年10月4日,2011年6月1日,nginx1.0.4发布。

       其特点是占用内存少,并发能力强,事实上nginx的并发能力在同类型的网站服务器中表示较好,中国大陆使用nginx网站用户有:百度,京东,新浪,网易,腾讯,淘宝等。在全球活跃的网站中有12.18%的使用比率,大约为2220万个网站。

       nginx是一个安装非常的简单,配置文件非常简洁(还能够支持perl语法),Bug非常少的服务。nginx启动特别容易,并且几乎可以做到7*24不间断运行,即使运行数个月也不需要重新启动。还能够不间断服务的情况下进行软件版本的升级。

       nginx代码完全用c语言写,官方数据测试表明能够支持高达50,000个并发连接数的响应。

2. 正向代理和反向代理

       Http代理,反向代理:作为web服务器最常用的功能之一,尤其是反向代理。

       正向代理:
       在这里插入图片描述
       客户端设置代理服务器,再去访问其他服务器,说白了,还是客户端直接访问外部服务器。
       客户端的代理服务器(正向代理)。

       反向代理:
       在这里插入图片描述
       访问百度,域名只有一个,永远访问同一个域名,但是后面访问了哪个服务器。
       服务器端的代理服务器(反向代理)。

3. 负载均衡

       Nginx提供的负载均衡策略有2种:>内置策略扩展策略
       内置策略为轮询,加权轮询,Ip hash
       扩展策略那就天马行空了,只有你想不到的,没有他做不到的。

       轮询:
       在这里插入图片描述
       加权轮询:
       在这里插入图片描述
       Iphash对客户端请求的ip进行hash操作,然后根据hash结果将同一个客户端ip的请求发给同一台服务器进行处理,可以解决session不共享的问题。
       在这里插入图片描述
       设置某些IP只能访问某台服务器,这样也不是很好。(了解即可)

4. 动静分离

       在我们的软件开发中,有些请求需要后台处理,有些请求是不需要经过后台处理的(如:css,html,jpg,js等文件),这些不需要经过后台处理的文件称为静态文件。让动态网站里的动态网页根据一定规则把不变的资源和经常变的资源区分开来,动静资源做好了拆分以后,我们可以根据静态资源的特点将其做缓存操作。提高资源响应的速度。
       在这里插入图片描述
       目前,通过使用Nginx大大提高了我们网站的响应速度,优化了用户体验,让网站的健壮性更上一层楼。

5. Nginx安装Windows

nginx是可以跨平台的。

下载nginx
       官网:http://nginx.org/en/download.html下载稳定版本。
       以nginx/windows-1.x为例,直接下载nginx-1.x.zip
       下载后解压,后直接可以使用。
       在这里插入图片描述
启动nginx
       不建议双击nginx.exe,会一闪而过。
       建议:进到cmd下,到nginx解压目录,执行:nginx.exe,(没有任何提示)
       注意:别放在中文目录下。
       启动后,在浏览地址栏输入:http://localhost/,出现下面页表示成功:
       在这里插入图片描述
配置文件
       重点是conf目录,里面有我们经常用到的配置文件。

       Nginx.conf文件:
       在这里插入图片描述
       表示监听80端口。

6. Nginx安装Linux

下载linux安装包:
上传到linux服务器:
解压:tar -zxvf xxxxx
解压完后进入nginx目录

自动配置:
       (1)运行nginx下面的configure文件: ./configure
       (2)再执行:make
       出现报错:

安装Nginx相关依赖包:
yum -y install gcc openssl openssl-devel pcre-devel zlib zlib-devel
安装完成后验证:
./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_ssl_module
再执行:
make && make install

查看nginx在哪:

whereis nginx

       在这里插入图片描述
       进入/usr/local/nginx后查看nginx的文件夹:
       在这里插入图片描述
       这里的sbin存放命令,可以在这里启动nginx: ./nginx
       或者直接运行:/usr/local/nginx/sbin/nginx

查看配置文件:
       进入conf目录,可以看到有个nginx.conf配置文件
       Vim nginx.conf

       在windows中通过浏览地址栏,访问linux的80端口,看linux上的nginx安装好没:
       如: http://192.168.40.128:80
       如果有问题,看下linux的防火墙及80端口是否开放。
       如果是阿里云的服务器,要去把安全组的80端口放开。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值