1. 定义:

Nginx ("engine x") 是一个高性能的HTTP和反向代理服务器;

特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。

Nginx与Tomacat的关系:

  除了tomcat以外,apache,nginx,jboss,jetty等都是http服务器。但是nginx和apache只支持静态页面和CGI协议的动态语言,比如perl、php等,但是nginx不支持java。
Java程序只能通过与tomcat配合完成。 nginx与tomcat 配合,为tomcat集群提供反向代理服务、负载均衡等服务;

2. nginx三大功能:

  ① 反向代理:

    正向代理(左图)------反向代理(右图)

  ②负载均衡:

  

  ③动静分离:

  

4.安装和部署

yum安装依赖包:
sudo yum -y install openssl openssl-devel pcre pcre-devel zlib zlib-devel gcc gcc-c++ 安装依赖包 nginx-1.12..tar
解压缩nginx-xx.tar.gz包。
进入解压缩目录,执行
./configure --prefix=/opt/module/nginx
make && make install
启动、关闭命令nginx
赋权限:
   nginx占用80端口,默认情况下非root用户不允许使用1024以下端口 server.port=
sudo setcap cap_net_bind_service=+eip /opt/module/nginx/sbin/nginx
如果启动时报错:ln -s /usr/local/lib/libpcre.so. /lib64  修改/opt/module/nginx/conf/nginx.conf
http{
..........
upstream logserver{
server hadoop101:8080 weight=1;
server hadoop102:8080 weight=1;
server hadoop103:8080 weight=1; }
server {
listen ;
server_name logserver; location / {
root html;
index index.html index.htm;
proxy_pass http://logserver;
proxy_connect_timeout 10; }
..........
}
[kris@hadoop101 sbin]./nginx
[kris@hadoop101 sbin]$ ps -ef | grep nginx
kris : ? :: nginx: master process ./nginx
kris : ? :: nginx: worker process
kris : ? :: nginx: worker process
kris : pts/ :: grep nginx
[kris@hadoop101 sbin]$ pwd
/opt/module/nginx/sbin

负载均衡策略:

  # 1、轮询(默认)
    # 每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。
  # 2、指定权重
    # 指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。
  #3、IP绑定 ip_hash
    # 每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。
  #4、备机方式 backup
    # 正常情况不访问设定为backup的备机,只有当所有非备机全都宕机的情况下,服务才会进备机。
  #5、fair(第三方)
    #按后端服务器的响应时间来分配请求,响应时间短的优先分配。
  #6、url_hash(第三方)
    #按访问url的hash结果来分配请求,使每个url定向到同一个后端服务器,后端服务器为缓存时比较有效。

补充: Nginx的更多相关文章

  1. 总结Lvs、nginx、Haproxy

    !!!! 参考的比较多,自己想法少 大神总结的比较好 ====>http://www.ha97.com/5646.html 特性  LVs Nginx Haproxy 工作层 四层(传输层) 七 ...

  2. Nginx快速入门菜鸟笔记

    Nginx快速入门-菜鸟笔记   1.编译安装nginx 编译安装nginx 必须先安装pcre库. (1)uname -a 确定环境 Linux localhost.localdomain 2.6. ...

  3. Linux LVS Nginx HAProxy 优缺点

    说明:以下内容参考了抚琴煮酒的<构建高可用Linux服务器>第六章内容. 搭建负载均衡高可用环境相对简单,主要是要理解其中原理.此文描述了三种负载均衡器的优缺点,以便在实际的生产应用中,按 ...

  4. Nginx/LVS/HAProxy负载均衡软件的优缺点详解

    PS:Nginx/LVS/HAProxy是目前使用最广泛的三种负载均衡软件,本人都在多个项目中实施过,参考了一些资料,结合自己的一些使用经验,总结一下. 一般对负载均衡的使用是随着网站规模的提升根据不 ...

  5. lvs nginx HAProxy优缺点

    LVS的优点:1、抗负载能力强、工作在第4层仅作分发之用,没有流量的产生,这个特点也决定了它在负载均衡软件里的性能最强的;无流量,同时保证了均衡器IO的性能不会受到大流量的影响;2、工作稳定,自身有完 ...

  6. Nginx介绍

    原文:http://www.aosabook.org/en/nginx.html 作者: Andrew Alexeev nginx(发音"engine x")是俄罗斯软件工程师Ig ...

  7. Nginx/LVS/HAProxy负载均衡软件的优缺点详解(转)

    PS:Nginx/LVS/HAProxy是目前使用最广泛的三种负载均衡软件,本人都在多个项目中实施过,参考了一些资料,结合自己的一些使用经验,总结一下. 一般对负载均衡的使用是随着网站规模的提升根据不 ...

  8. Nginx,LVS,HAProxy,负载均衡之选择

    Nginx的优点:性能好,可以负载超过1万的并发.功能多,除了负载均衡,还能作Web服务器,而且可以通过Geo模块来实现流量分配.社区活跃,第三方补丁和模块很多支持gzip proxy缺点:不支持se ...

  9. Nginx/LVS/HAProxy负载均衡软件的优缺点详解(转)

    PS:Nginx/LVS/HAProxy是目前使用最广泛的三种负载均衡软件,本人都在多个项目中实施过,参考了一些资料,结合自己的一些使用经验,总结一下. 一般对负载均衡的使用是随着网站规模的提升根据不 ...

  10. (总结)Nginx/LVS/HAProxy负载均衡软件的优缺点详解

    PS:Nginx/LVS/HAProxy是目前使用最广泛的三种负载均衡软件,本人都在多个项目中实施过,参考了一些资料,结合自己的一些使用经验,总结一下. 一般对负载均衡的使用是随着网站规模的提升根据不 ...

随机推荐

  1. Java流程控制之选择语句

    选择语句 选择语句也称之为判断语句,主要有2种写法,一种是if语句,一种是switch语句.下面我们就详细的介绍一下这2种语句的用法. 判断语句if if语句第一种形式: if 格式: 执行流程 首先 ...

  2. Windows10 安装grpc-go 详细步骤

    准备依赖 git clone https://github.com/grpc/grpc-go.git $env:GOPATH\src\google.golang.org\grpc git clone ...

  3. Python爬虫教程-使用chardet

    Spider-03-使用chardet继续学习python爬虫,我们经常出现解码问题,因为所有的页面编码都不统一,我们使用chardet检测页面的编码,尽可能的减少编码问题的出现 网页编码问题解决使用 ...

  4. HTTP/2 新特性总结

    我在想了解HTTP/2的时候,查阅了很多资料,发现这篇很好,是外国的文章.我翻译过来,加入自己的一点理解. HTTP/2 更简单,高效,强大.它在传输层解决了以前我们HTTP1.x中一直存在的问题.使 ...

  5. 图解servlet

    You can see the following illustration to better understand the lifecycle of the Servlet. When the r ...

  6. 用ASP.NET Core构建可检测的高可用服务--学习笔记

    摘要 随着现代化微服务架构的发展,系统故障的定位与快速恢复面临着诸多挑战,构建可检测的服务,帮助线上保障团队时刻掌控应用的运行状况越来越重要.本次分享会讲解如何让 ASP .NET Core 应用与现 ...

  7. PHP语法入门以及变量

    1PHP语法入门 1.1PHP是编译型语言      编译语言和解释语言的区别在于是否保存最终的可执行程序. 1.2PHP定界符       因为PHP是脚本语言,所以需要定界符 <?php e ...

  8. Thread之模板模式

    我们知道,在实际使用线程的时候,真正的执行逻辑都是写在run方法里面,run方法是线程的执行单元,如果我们直接使用Thread类实现多线程,那么run方法本身就是一个空的实现,如下: /** * If ...

  9. leaflet-webpack 入门开发系列一初探篇(附源码下载)

    前言 leaflet-webpack 入门开发系列环境知识点了解: node 安装包下载webpack 打包管理工具需要依赖 node 环境,所以 node 安装包必须安装,上面链接是官网下载地址 w ...

  10. [b0029] python 归纳 (十四)_队列Queue实现生产者消费者

    # -*- coding: UTF-8 -*- """ 多线程的生产者,消费者 使用队列Queue """ import Queue imp ...