当前位置: 首页 > >

在Linux系统上搭建Nginx+tomcat集群部署

发布时间:

一:首先什么是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支持的负载均衡调度算法方式如下:


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

?


? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Nginx + tomcat 集群

Nginx的安装:


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

初始化nginx配置


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

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


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

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


Nginx + tomcat 集群:


?


    在linux系统中解压两个tomcat;解压完成后,因为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?


?


?



友情链接: 时尚网 总结汇报 幼儿教育 小学教育 初中学习资料网