• nginx安装配置


    nginx

    安装              

                   依赖:yum install gcc gcc-c++ autoconf automake make  zlib-devel zlib openssl openssl-devel  pcre-devel -y

                  下载地址:wget http://nginx.org/download/nginx-1.9.9.tar.gz

                   解压:tar -zxvf nginx-1.5.9.tar.gz

                  编译安装:./configure --prefix=/usr/local/nginx

                   make

                   make install

                  启动服务:/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

                 完成  netstat -tunlp  

    平滑重启

            /usr/local/nginx/sbin/nginx -s reload

    判断nginx配置是否正确命令

           nginx -t -c /usr/local/nginx/conf/nginx.conf

    nginx 配置文件解读

    worker_processes 1; //work进程的数量

    events { //事件区块的开始
    worker_connections 1024; //每个work进程支持的最大连接数
    }

    http { //http区块的开始
    include mime.types; //Nginx支持的媒体类型库文件
    default_type application/octet-stream; //默认的媒体类型
    sendfile on; //开启高效传输模式

    server { //第一个server区块的开始
    listen 80; //侦听端口
    server_name localhost; //提供服务的域名主机名


    location / { //第一个location区块开始
    root html; //站点的根目录
    index index.html index.htm; //默认的首页文件
    }
    error_page 500 502 503 504 /50x.html; //出现对应的http状态码时,使用50x.html回应客户
    location = /50x.html { //location区块开始,访问50x.html
    root html; //指定对应的站点目录
    }
    }
    }

    Nginx常用功能
    1、Http代理,反向代理:作为web服务器最常用的功能之一,尤其是反向代理。
      这里我给来2张图,对正向代理与反响代理做个诠释,具体细节料。

      Nginx在做反向代理时,提供性能稳定,并且能够提供配置灵活的转发功能。Nginx可以根据不同的正则匹配,采取不同的转发策略,比如图片文件结尾的走文件服务器,动态页面走web服务器,只要你正则写的没问题,又有相对应的服务器解决方案,你就可以随心所欲的玩。并且Nginx对返回结果进行错误页跳转,异常判断等。如果被分发的服务器存在异常,他可以将请求重新转发给另外一台服务器,然后自动去除异常服务器。
    2、负载均衡
      Nginx提供的负载均衡策略有2种:内置策略和扩展策略。内置策略为轮询,加权轮询,Ip hash。扩展策略,就天马行空,只有你想不到的没有他做不到的啦,你可以参照所有的负载均衡算法,给他一一找出来做下实现。
    上3个图,理解这三种负载均衡算法的实现

      Ip hash算法,对客户端请求的ip进行hash操作,然后根据hash结果将同一个客户端ip的请求分发给同一台服务器进行处理,可以解决session不共享的问题。

    3、web缓存
      Nginx可以对不同的文件做不同的缓存处理,配置灵活,并且支持FastCGI_Cache,主要用于对FastCGI的动态程序进行缓存。配合着第三方的ngx_cache_purge,对制定的URL缓存内容可以的进行增删管理。

    Nginx的配置文件详解
    一、nginx的配置文件结构
    nginx.conf由多个块组成,最外面的块是main,main包含events和http,http包含多个upstream和多个server,server又包含多个location:

    main(全局设置)、server(虚拟主机设置)、upstream(负载均衡服务器设置)和location(URL匹配特定位置的设置)。
      main块设置的指令将影响其他所有设置;
      server块的指令主要用于指定主机和端口;
      upstream指令主要用于负载均衡,设置一系列的后端服务器;
      location块用于匹配网页位置。
    这四者之间的关系式:server继承main,location继承server,upstream既不会继承其他设置也不会被继承。
    Nginx简单图片访问示例:

    二、nginx的虚拟主机
      虚拟主机是用来映射网站目录和网站代码文件夹的关系.它可以通过server配置, 每个server表示一个虚拟机主机
      示例如下:


    规划虚拟主机的配置文件
      以上全部配置在主配置文件中可能不小心修改掉配置文件导致nginx.conf文件出错. 可以使用include指令将每个虚拟主机放在一个单独的配置文件中.
      将nginx服务器目录结构设置为:
      nginx
        nginx.conf
        vhost
          – www.domain1.com.conf
          – www.domain2.com.conf
    每个.conf结尾的文件中保存一个虚拟主机(server)的配置信息.在nginx.conf中通过include指令包含这些配置文件.

     

    在nginx/config/vhost/www.ljs.com.conf中的配置:

    在nginx/config/vhost/admin.ljs.com.conf中的配置:

    在nginx/config/vhost/images.ljs.com.conf中的配置:

    修改tomcat中配置(三个tomcat均修改,端口也一样):

    启动成功后:

    负载均衡
    一、简介

      后台服务器组成了一个服务器集群(多台服务器). 有中间服务器(nginx)接受到请求分发给不同的服务器后台. 该nginx就是一个负载均衡服务器.
    优点:
      分散后台服务器的压力
      自动去掉挂掉的后台服务器
      缓存后台服务器响应内容

    负载均衡的分配策略
      nginx 的 upstream目前支持 4 种方式的分配
      1)、轮询(默认)
          每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。
      2)、weight
         指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。
      2)、ip_hash
         每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。
      3)、fair(第三方)
         按后端服务器的响应时间来分配请求,响应时间短的优先分配。
      4)、url_hash(第三方)
        按访问url的hash结果来分配请求,使每个url定向到同一
        个后端服务器,后端服务器为缓存时比较有效。
    负载均衡配置
    在http节点里添加:
      upstream myServer {
        server 127.0.0.1:9090 down;
        server 127.0.0.1:8080 weight=2;
        server 127.0.0.1:6060;
        server 127.0.0.1:7070 backup;
        [ip_hash | fair | url_hash]
      }
    在需要使用负载的server节点下添加
      proxy_pass http://myServer;
      upstream 每个设备的状态:
      down 表示单前的server暂时不参与负载
      weight 默认为1.weight越大,负载的权重就越大。
      max_fails :允许请求失败的次数默认为1.当超过最大次数时,返回  proxy_next_upstream 模块定义的错误
      fail_timeout:max_fails 次失败后,暂停的时间。
      backup: 其它所有的非backup机器down或者忙的时候,请求backup机器。所以这台机器压力会最轻。

     

    负载均衡服务器搭建完毕,置于怎么验证,可以建立一个简单的web项目,打印出访问日志,tomcat都部署t同一个web

  • 相关阅读:
    vfork与fork的区别
    常见的六种设计模式以及应用场景
    Java中常见的集合类比较
    排序——总结
    排序——交换排序
    排序——选择排序
    排序——归并排序
    排序——基数排序
    排序——插入排序
    设计模式
  • 原文地址:https://www.cnblogs.com/Su-per-man/p/11542469.html
Copyright © 2020-2023  润新知