Nginx学习笔记(一)-Nginx基础知识

Scroll Down

Nginx学习笔记(一)-Nginx基础知识

Nginx是什么?

Nginx是一款轻量级的Web服务器、反向代理服务器,由于它的内存占用少,启动极快,高并发能力强,在互联网项目中广泛应用。

Nginx能做什么?

  • Http服务器,性能非常高,能够经受高负载的考验
  • 反向代理服务器
  • 负载均衡服务器
  • 动静分离

Nginx 的特点

  • 跨平台:Nginx可以在大多数类unix操作系统上编译运行,并且也有windows版本

  • Nginx的上手非常容易,配置也比较简单

  • 高并发,性能好

  • 稳定性也特别好,宕机概率很低

正向代理,反向代理,负载均衡,动静分离是什么?

  • 正向代理

    • 在浏览器中配置代理服务器的相关信息,通过代理服务器访问⽬标⽹站,代理服务器收到⽬标⽹站的响应之后,会把响应信息返回给我们⾃⼰的浏览器客户端,例如使用VPN就是使用正向代理
      image-20200623144955096
  • 反向代理

    • 浏览器客户端发送请求到反向代理服务器(⽐如Nginx),由反向代理服务器选择原始服务器提供服务获取结果响应,最终再返回给客户端浏览器
      • image-20200623145054777
  • 负载均衡服务器

    • 负载均衡,当⼀个请求到来的时候(结合上图),Nginx反向代理服务器根据请求去找到⼀个原始服务器来处理当前请求,那么这叫做反向代理。那么,如果⽬标服务器有多台(⽐如上图中的tomcat1,tomcat2,tomcat3...),找哪⼀个⽬标服务器来处理当前请求呢,这样⼀个寻找确定的过程就叫做负载均衡。⽣活中也有很多这样的例⼦,⽐如,我们去银⾏,可以处理业务的窗⼝有多个,那么我们会被分配到哪个窗⼝呢到底,这样的⼀个过程就叫做负载均衡。负载均衡就是为了解决⾼负载的问题。
  • 动静分离

    • 有些请求是需要后台处理的(如:.jsp,.do 等等),有些请求是不需要经过后台处理的(如:css、html、jpg、js 等等文件)这些不需要经过后台处理的文件称为静态文件,否则称为动态文件。因此我们后台处理可以忽略静态文件。这会有人又说那我后台忽略静态文件不就完了吗当然这是可以的,但是这样后台的请求次数就明显增多了。在我们对资源的响应速度有要求的时候,我们应该使用这种动静分离的策略去解决动、静分离将网站静态资源(HTML,JavaScript,CSS,img 等文件)与后台应用分开部署,提高用户访问静态代码的速度,降低对后台应用访问这里我们将静态资源放到 nginx 中,动态资源转发到 tomcat 服务器中
    • 而且Nginx处理静态资源能力强于Apache,处理动态资源能力更弱与Apache,所以静态请求应该由nginx来处理,动态请求由Tomcat来处理
      • image-20200623145923188

Centos下安装Nginx

  1. 上传nginx安装包到服务器,nginx安装包(.tar⽂件)下载地址:http://nginx.org

  2. 安装Nginx依赖,pcre、openssl、gcc、zlib(推荐使用yum源自动安装)
    yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel

  3. 解压对应压缩包,tar -xvf nginx-1.17.8.tar

  4. 进⼊解压之后的⽬录 nginx-1.17.8 cd nginx-1.17.8

  5. 执行命令

    ./configure
    make
    make install
    
  6. 执行完毕后,在/usr/local/会生成对应的nginx文件夹

    image-20200623150442863

  7. 进⼊sbin⽬录中,执行启动nginx命令

    cd nginx/sbin
    ./nginx
    
  8. 然后访问服务器的80端口(nginx默认监听80端⼝)

    image-20200623150554140