Nginx初了解

 

一、什么是nginx


Nginx(“engine x”)是一个高性能的HTTP和反向代理服务器,特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大力使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等

nginx作为web服务器
Nginx可以作为静态页面的web服务器,同时还支持CGI协议的动态语言,比如perl,php等。但是不支持java。java程序只能通过tomcat完成配合。Nginx专为性能优化而开发,性能是其最重要的考量,实现上非常注重效率,能经受高负载的考研,有报告表明能支持高达50000个并发连接数

 

 

 

 

 

二、nginx的特点

 

1、反向代理

反向代理,其实客户端对代理是无感知的,因为客户端不需要任何配置就可以访问,我们只需要将请求发送到反向代理服务器,由反向代理服务器去选择目标服务器获取数据后,再返回给客户端,此时反向代理服务器和目标服务器对外就是一个服务器,暴露的是代理服务器地址,隐藏了真实服务器IP地址

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2、负载均衡

 

(1)负载均衡出现的时代背景

户端发送多个请求到服务器,服务器处理请求,有一些可能要与数据库进行交互,服务器处理完毕后,再将结果返回给客户端。
这种架构模式对于早期的系统相当单一,并发请求相对较少的情况下是比较适合的,成本也低。但是随着信息数量的不断增长,访问量和数据量的飞速增长,以及系统业务的复杂度增加,这种架构会造成服务器相应客户端的请求日益缓慢,并发量特别大的时候,还容易造成服务器直接崩溃。很明显这是由于服务器性能的瓶颈造成的问题,那么如何解决这种情况呢?
我们首先想到的可能是升级服务器的配置,比如提高CPU执行频率,加大内存等提高机器的物理性能来解决此问题,但是我们知道摩尔定律的日益失效,硬件的性能提升已经不能满足日益提升的需求了。最明显的一个例子,天猫双十一当天,某个热销商品的瞬时访问量是极其庞大的,那么类似上面的系统架构,将机器都增加到现有的顶级物理配置,都是不能够满足需求的。那么怎么办呢?
上面的分析我们去掉了增加服务器物理配置来解决问题的办法,也就是说纵向解决问题的办法行不通了,那么如何增加服务器的数量呢?这时候集群的概念产生了,单个服务器解决不了,我们增加服务器的数量,然后将请求分发到各个服务器上,将原先请求集中到单个服务器上的情况改为将请求分发到多个服务器上,将负载分发到不同的服务器,也就是我们所说的负载均衡。

(2)什么是负载均衡

负载均衡(load balance)已经不再是一个很陌生的话题,顾名思义,负载均衡即是将负载分摊到不同的服务单元,既保证服务的可用性,又保证响应足够快,给用户很好的体验。快速增长的访问量和数据流量催生了各种各样的负载均衡产品,很多专业的负载均衡硬件提供了很好的功能,但却价格不菲,这使得负载均衡软件大受欢迎,nginx就是其中一个。

(3)图解

 

 

 

 

 

 

3、动静分离

为了加快网站的解析速度,可以把动态页面和静态页面有不同的服务器来解析,加快解析速度。降低原来单个服务器的压力

 

(1)什么是动静分离

    nginx动静分离简单来说就是把动态跟静态请求分开,不能理解成只是单纯的把动态页面和静态页面物理分离。严格意义上说应该是动态请求静态请求分开,可以理解成使用nginx处理静态页面,tomcat处理动态页面,动静分离从目前的实现角度来讲大致分为两种
    一种是纯粹把静态文件独立成单独的域名,放在独立的服务器上,也是目前主流推崇的方案
    另外一种就是动态跟静态文件混合在一起发布,通过nginx来分开

(2)图解

 

 

 

 

 

 

 

 

 

 

 

三、nginx安装

 

1、window安装

http://nginx.org/download/nginx-1.20.2.zip

 

下载之后解压出来!

 

 

 

 

 

 

 

我们打开conf文件夹下的nginx.conf文件,发现监听的是默认80端口!

 

 

 

 

 

 

 

 

 

我们启动一下nginx,如果报错,说明nginx所在的目录下有中文,换个地方启动就可以了!

 

 

 

 

 

 

 

 

 

访问一下本机80端口测试(也可以不加端口,默认是80端口!)

 

 

 

 

 

 

2、linux安装

(1)下载软件包,上传到linux上

 

http://nginx.org/download/nginx-1.20.2.tar.gz

 

(2)把软件包解压

 

 

 

 

(3)进入目录,执行命令:./config

 

 

 

 

如果报错的话,需要我们安装编译工具及库文件!之后就没有问题了

yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel

 

 

 

(4)然后继续make install

 

(5)进入nginx的配置sbin目录,启动nginx!

(whereis nginx:查看安装路径)

 

 

 

(6)进入conf目录下,查看nginx.conf文件,我们能找到监听的80端口

 

 

 

 

 

 

(7)输入主机IP:端口号访问一下

 

 

 

 

如果访问不到,需要把防火墙关闭,服务器的话,把安全组的80端口开放!

 

 

四、nginx常用命令

 

1、cd /usr/local/nginx/sbin

2、./nginx  启动nginx

3、./nginx -s stop  停止

4、./nginx -s quit  安全退出

5、./nginx -s reload  重新加载配置文件

6、ps aux|grep nginx  查看nginx进程

 

测试:

[root@WALKER conf]# cd /usr/local/nginx/conf/
[root@WALKER conf]# vim nginx.conf


 

 

[root@WALKER sbin]# ./nginx -s reload
[root@WALKER sbin]#

之后访问主机IP:81端口就好了

 

posted @ 2022-04-25 23:43  屯子里唯一的架构师  阅读(86)  评论(0编辑  收藏  举报