在Linux系统上搭建Nginx+tomcat集群部署
一:首先什么是Nginx?Nginx是一款自由的、开源的、高性能的HTTP服务器和反向代理服务器;Nginx可以作为一个HTTP服务器进行网站的发布处理,在国内,使用nginx网站用户有:金山爱词霸、新浪、淘宝俄罗斯的工程师Igor Sysoev,他在为Rambler Media工作期间,使用C语言开发了Nginx。Nginx作为WEB服务器一直为Rambler Media提供出色而又...
一:首先什么是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
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)