1.Nginx基本概念

    科技2025-05-04  17

    1.Nginx基本概念

    ​ (1)Nginx是什么,做什么

    Nginx是一个高性能的HTTP和反向代理服务器,特点是占有内存少,并发能力强。

    Nginx专为性能优化而开发,性能是其最重要的考量,实现上非常注重效率 。它支持内核Poll模型,能经受高负载的考验,有报告表明能支持高达 50,000个并发连接数。

    我们常用它来做:反向代理、负载均衡、动态与静态资源的分离的工作

    反向代理

    1.1正向代理:如果把局域网外的Internet想象成一个巨大的资源库,则局域网中的客户端要访问Internet,则需要通过代理服务器来访问,这种代理就称为正向代理。简单的说,如果你使用过代理服务器的话就明白,我们访问某一个网站并非直接访问目标网站,而是告诉代理服务器我需要访问什么目标网站,由代理服务器发出请求给目标网站,将目标网站访问结果再转发给你,此时,你是请求代理方。

    1.2反向代理:反向代理是代理服务器做服务器的代理,我们的访问请求并非直接访问到目标服务器上,而是访问代理服务器,由代理服务器决定什么样的请求以什么样的方式访问正式服务器。此时代理服务器和目标服务器对外就是一个服务器,暴露的是代理服务器地址,隐藏了真是服务器IP地址。

    正向代理是做客户端的代理,隐藏的是客户端,反向代理是做服务器的代理,隐藏的是服务器。

    ​ 负载均衡

    单个服务器解决不了,我们增加服务器的数量,然后将请求分发到各个服务器上,将原先请求集中到单个服务器的改为请求分发到多个服务器上,将负载分发到不同的服务器,这就是负载均衡。比如目前我们拥有3台真实服务器,我们需要根据相应策略决定什么样的用户请求分配到哪个真实服务器,比如按照轮询的方式,用户请求挨个到达代理服务器,此时代理服务器按照第一个请求转发至第一台真实服务器,第二个请求转发到第二个服务器上,依次类推,这样可以防止大量的用户请求全部访问到同一台物理机上,单点物理机的性能始终有限的,当然这可能对服务器数据访问时候造成事务性的失效,在Web方面可能造成Session访问的问题。

    ​ 动静分离

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

    最方便列举就是Java的JSP和静态资源如:.js/.css/.html/.png方面的资源分离,之前开发web方面的程序时候我们习惯将html、css等资源文件也放置于Tomcat之中,用户访问后tomcat需要将请求的这些静态资源文件一并返回给用户,再者如果有多台同业务逻辑的tomcat服务器的话,同样的资源还需要在每个服务器上放一份,同时也增加了tomcat服务器的网络IO,十分不合算的,如果我们只讲JSP之类的请求交给tomcat,而代理服务器上存放静态资源,当用户的请求非动态资源的时候,我们完全可以将代理服务器的静态资源直接返回给用户,而不去增大Tomcat的压力,tomcat只需要负责逻辑处理和动态资源的加载就可以了

    2.Nginx的安装

    ​ Ubuntu安装Nginx,首先去官网下载Nginx压缩包 https://nginx.org/en/download.html

    选择合适的版本,

    1.首先下载Nginx依赖 sudo apt-get install build-essential 选择y sudo apt-get install libtool sudo apt-get install openssl sudo apt-get install libpcre3 libpcre3-dev sudo apt-get install zlib1g-dev 2.安装Nginx tar -zxvf nginx-1.18.0.tar.gz 解压下载的压缩包 cd nginx-1.18.0 进入安装目录 ./configure --prefix=/usr/local/nginx 编译 make && make install 安装 cd /usr/local/nginx/sbin ./nginx 启动Nginx Nginx默认端口80 在浏览器访问80端口就可以了
    Processed: 0.022, SQL: 8