一:首先什么是Nginx?

Nginx是一款自由的、开源的、高性能的HTTP服务器和反向代理服务器;Nginx可以作为一个HTTP服务器进行网站的发布处理,

在国内,使用nginx网站用户有:金山爱词霸、新浪、淘宝

俄罗斯的工程师Igor Sysoev,他在为Rambler Media工作期间,使用C语言开发了Nginx。Nginx作为WEB服务器一直为Rambler Media提供出色而又稳定的服务。

后来,Igor Sysoev将Nginx代码开源,并且赋予自由软件许可证

 

二:Nginx的特点

    1.高并发量:根据官方给出的数据,能够支持高达 50,000 个并发连接数的响应

 

    2.内存消耗少:处理静态文件,同样起web 服务,比apache 占用更少的内存及资源,所有它是轻量级的

 

    3.简单稳定:配置简单,基本在一个conf文件中配置,性能比较稳定,可以7*24小时长时间不间断运行

 

    4. 工作在网络的7层之上,可以针对http应用做一些分流的策略,比如针对域名、目录结构;

    

   5.支持Rwrite重写规则:能够根据域名、URL的不同, 将HTTP请求分发到不同的后端服务器群组。

 

    6.低成本:Nginx可以做高并发的负载均衡,且Nginx是开源免费的。 

 

    7.支持多系统:Nginx代码完全用C语言从头写成,已经移植到许多体系结构和操作系统,包括:Linux、FreeBSD、Solaris、Mac OS X、AIX以及Microsoft Windows,由于Nginx是免费开源的,可以在各系统上编译并使用。

三:Ngin的作用

另外Nginx可以作为反向代理进行负载均衡的实现。

Nginx也是一款web服务器,我们常用它做如:反向代理、负载均衡等

反向代理:

 

 

Nginx支持的负载均衡调度算法方式如下:

  1. weight轮询(默认):接收到的请求按照顺序逐一分配到不同的后端服务器,即使在使用过程中,某一台后端服务器宕机,Nginx会自动将该服务器剔除出队列,请求受理情况不会受到任何影响。 这种方式下,可以给不同的后端服务器设置一个权重值(weight),用于调整不同的服务器上请求的分配率;权重数据越大,被分配到请
  2. 求的几率越大;该权重值,主要是针对实际工作环境中不同的后端服务器硬件配置进行调整的。
  3. ip_hash:每个请求按照发起客户端的ip的hash结果进行匹配,这样的算法下一个固定ip地址的客户端总会访问到同一个后端服务器,这也在一定程度上解决了集群部署环境下session共享的问题。
  4. fair:智能调整调度算法,动态的根据后端服务器的请求处理到响应的时间进行均衡分配,响应时间短处理效率高的服务器分配到请求的概率高,响应时间长处理效率低的服务器分配到的请求少;结合了前两者的优点的一种调度算法。但是需要注意的是Nginx默认不支持fair算法,如果要使用这种调度算法,请安装upstream_fair模块。
  5. url_hash:按照访问的url的hash结果分配请求,每个请求的url会指向后端固定的某个服务器,可以在Nginx作为静态服务器的情况下提高缓存效率。同样要注意Nginx默认不支持这种调度算法,要使用的话需要安装Nginx的hash软件包。

 

                                  Nginx + tomcat 集群

Nginx的安装:

  1. 在linux系统中的根目录下/usr目录中创建一个nginx文件夹;
  2. 在该文件夹下通过wget http://nginx.org/download/nginx-1.12.0.tar.gz命令在连接中下载nginx的安装包;
  3. 通过yum 命令安装GCC,ZLIB,PCRE,OPENSSL四个依赖环境
    1. yum install gcc 安装gcc环境
    2. yum install pcre-devel 安装pcre环境
    3. yum install zlib zlib-devel 安装zlib环境
    4. yum install openssl openssl-devel 安装openssl环境
  4. 通过tar -zxvf 命令安装后缀名为.gz的nginx安装包;
  5. 安装完成后在该目录下回出现一个nginx-1.xxx的文件夹;
  6. 通过cd命令进入该文件夹中,然后执行./configure命令,

初始化nginx配置

  1. 通过make命令执行make环境;
  2. 如果 Make 执行报错 执行yum -y install openssl openssl-devel
  3. 再次通过make install 安装make库;
  4. 通过whereis nginx命令查看linux环境下nginx的安装目录,

一般情况下,都是在/usr/local/nginx目录下

  1. 通过cd命令进入到nginx的安装目录下的sbin文件夹中
  2. 执行./nginx第一次没有显示任何信息(初始化启动)
  3. 需要再次执行./nginx 命令启动nginx,执行出现三行启动信息;
  4. 通过浏览器输入nginx所在的电脑的ip地址直接访问,

出现welcomne to nginx欢迎信息,则表示nginx安装并启动成功。

Nginx + tomcat 集群:

 

  1. 在linux系统中解压两个tomcat;
  2. 解压完成后,因为tomcat默认端口号是8080,所以需要将其

中一个tomcat的端口号改成别的;

     3.进入某一个tomcat的目录下的conf文件夹下,找到一个名为

server.xml的tomcat配置文件,在该文件中,将所有含有port关键词的配置号修改成其他值,避免两个tomcat端口号一样启动不了

     4.修改完成后,将两个tomcat启动,查看两个tomcat是否都能

成功启动并访问;

     5.当tomcat启动成功后,在进入到nginx的安装目录下,找到conf

文件夹,进入该文件夹后,找到名为nginx.conf的文件,通

Vi命令进入该文件,按i键进入文件编辑模式;

    6.在该文件的如下图位置进行如下图配置:

 

      7.当集群代码配置完毕后,继续要将nginx访问的反响代理信息

进行配置;

      8.继续在结束的server{}中,找到一个location{},在这个花括号中

的最后一行位置,添加如下代码:

 proxy_pass http://集群名称;

     9.配置完毕后,通过:wq!命令保存并退出;

    10.启动nginx,启动完毕后,通过浏览器访问nginx所在的电脑的ip地址(相当于访问nginx)

     11.查看是否可以通过nginx访问到tomcat,如果能,则证明集群

成功。Nginx + tomcat 集群完毕。

 

 

搭建的视频地址,我的百度网盘:

链接:https://pan.baidu.com/s/1bFpkqaLIjr-_3HB0jWM33Q 

 

 

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐