一、什么是nginx

Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,使用c语言编写的一款web服务软件.
Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。

二、为什么使用nginx?

 作用:

         1.反向代理。

                 客户端对代理是无感知的,因为客户端不需要任何配置就可以访问
         2.负载均衡。          

               (1) 增加服务器的数量,然后将请求分发到各个服务器上,将原先请求集中到单个服务器上的 情况改为将请求分发到多个服务器上,将负载分发到不同的服务器,也就是我们所说的负 载均衡

              (2)客户端发送多个请求到服务器,服务器处理请求,有一些可能要与数据库进行交互,服 务器处理完毕后,再将结果返回给客户端。

         3.动静分离。

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

三、如何使用nginx?

     (1)安装nginx的依赖

              1. yum install -y gcc-c++
              2. yum install -y pcre pcre-devel
              3. yum install -y zlib zlib-devel 
              4. yum install -y openssl openssl-devel

      (2)上传nginx安装包并解压

                  /usr/local/soft/
                  tar -zxvf 安装包名

      (3)创建一个nginx的安装目录

                    mkdir /usr/nginx

      (4)进入nginx的解压目录并指定安装到/usr/nginx

              ./configure --prefix=/usr/nginx

      (5)安装

                     make 编译
                     make install 安装

      (6)启动nginx

                     1.进入nginx安装目录的sbin目录  /usr/nginx/sbin
                     2.  ./nginx

                   查看进程:

 

        (7) 浏览器访问nginx(())

         (8)介绍nginx的目录结构

                              conf: 配置文件。
                              html: 静态资源,
                              logs: 日志。如果你nginx启动失败。查看该日志
                              sbin: 启动脚本。
                              ./nginx 启动
                              ./nginx -s stop 关闭
                              ./nginx -s reload 重新加载配置文件

          (9)nginx的配置文件中的内容

             

四、反向代理

     1. 正向代理: 代理的为客户端,对于互联网服务器来说,不知道真实的客户地址。

      2. 反向代理: 代理的为服务端,对于客户来说,不知道访问的到底是那台服务器。 

    (1)使用nginx如何完成反向代理

                 准备条件:
                       1. nginx---->192.168.223.140
                        2. web服务器--->192.168.223.157

 

 

      (2) 在192.168.223.157服务部署咱们的项目并启动。

             java -jar  项目名

     (3)在192.168.223.140上修改nginx的配置。  

          然后重新加载nginx的配置文件

         (4)访问nginx地址。

 五、负载均衡

        准备:
   1. nginx---192.168.223.140
   2. 两台web应用服务器 【192.168.223.140   192.168.223.157】

  

 (1)在140和157部署并启动web应用服务器。

  (2)修改nginx的配置内容。

 

 (3)测试

 

 

 (4)观察到负载均衡的策略默认为轮询策略。

                    轮询策略
                    权重策略:  
                    ip哈希策略
                    url哈希策略---依赖第三方插件

 

 六、nginx的动静分离            

  动静分离: 把服务器端的静态资源和动态资源分开处理。

【动态资源:--->内容会随着服务器返回的结果而变化。-->jsp模板引擎】

【静态资源:--->css.js.image.html】

  上面的请求可以发现: 我们每次发送请求动态资源时,服务端会把动态资源返回给客户,可以获取动态资源后,该动态资源可能依赖一些静态资源,客户拿到动态资源后,还有向服务发送请求静态资源。这是相当于服务处理了静态服务。这样明显服务压力太大。 而且服务如果是集群,那么服务器对静态资源的维护比较麻烦。 我们可以使用nginx实现服务器的动静分离。

 

 1、如何配置动静分离:

             (1)把静态资源放入nginx的安装目录  

            (2)修改配置文件

          (3) 启动nginx和tomcat 

           (4)访问nginx地址  2、nginx高可用

 

(1) 两台:  140 Master  141  backup 需要在每一个nginx服务器上安装keepalived

           yum install keepalived  安装keepalived

           rpm -q -a keepalived  检查是否安装keepalived

           keepalived       

          默认安装路径: /etc/keepalived

(2)修改keepalive的配置文件

 (3)替换原来的keepalived配置文件。

 

 

 (4)开启keepalived和nginx服务

            1. ./nginx 
            2. sytemctl start keepalived.service

 (5)测试访问

 (6)测试主节点宕机

    

 

 

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐