Nginx学习--(2)单机部署Nginx+tomcat集群环境

单机部署Nginx+tomcat集群环境

1、写在前面

关于Nginx的安装与tomcat的安装这里就不进行介绍了,这里只记录集群搭建配置的内容。
Nginx安装请参考另外的博客:Nginx学习–(1)Linux下安装Nginx
本文讲解只使用两个tomcat,多个tomcat的配置于此基本一样,只要保持相关端口不重复就好

本集群环境基础设施为:
阿里云ECS服务器(CentOS系统)【已开放8080与9080端口安全组配置】
已安装完成的Nginx,通过端口访问可以进入到Nginx欢迎页面。
Nginx学习--(2)单机部署Nginx+tomcat集群环境_第1张图片

2、正式搭建:安装两个tomcat服务器

(1)将准备好的tomcat安装包进行解压,解压到指定目录下,笔者的目录为:/usr/local/ 分别重命名为tomcat1 与 tomcat2
这里写图片描述
(2)在系统中添加环境变量。打开/etc/profile文件,在最下面添加:(具体路径根据自己的情况配置)

export CATALINA_BASE=/usr/local/tomcat1
export CATALINA_HOME=/usr/local/tomcat1
export TOMCAT_HOME=/usr/local/tomcat1
export CATALINA_2_BASE=/usr/local/tomcat2
export CATALINA_2_HOME=/usr/local/tomcat2
export TOMCAT_2_HOME=/usr/local/tomcat2

3、配置tomcat

【1】tomcat1保持不变,将tomcat2的配置文件进行配置:打开tomcat2目录下的/conf/server.xml ,修改三个关于端口的配置:
(1)修改server节点端口,改成9005
Nginx学习--(2)单机部署Nginx+tomcat集群环境_第2张图片
(2)修改HTTP/1.1 链接协议端口改成9080
Nginx学习--(2)单机部署Nginx+tomcat集群环境_第3张图片
(3)修改AJP/1.3 链接协议端口 ,改成9009
这里写图片描述
【2】修改tomcat2的catalina.sh文件。路径为:tomcat2路径/bin/catalina.sh
找到# OS specific support. $var must be set to either true or false.在这句注释下面添加:

export CATALINA_BASE=$CATALINA_2_BASE
export CATALINA_HOME=$CATALINA_2_HOME

【3】分别启动两个tomcat进行访问,注意启动时的tomcat信息:(分别引用到上边配置过的环境变量)
tomcat1访问路径:http://服务器ip或域名:8080
tomcat1启动信息:
这里写图片描述
tomcat2访问路径:http://服务器ip或域名:9080
tomcat2启动信息:
这里写图片描述

4、开始负载均衡配置:

(1)修改nginx目录/conf/nginx.conf文件,在HTTPS server注释的上边添加:

include vhost/*.conf;

Nginx学习--(2)单机部署Nginx+tomcat集群环境_第4张图片
这里做的是将配置文件进行拆分,方便后期维护。
(2)在sbin目录下新建vhost文件夹,并在里面创建与网站域名对应的文件,笔者的练习域名为www.superboys.xin,那么创建的文件名则为:www.superboys.xin.conf ,(此处命名规则也是为了维护方便,具体原因不再赘述)创建后为此文件添加内容:

upstream www.superboys.xin{
        server 127.0.0.1:8080;
        server 127.0.0.1:9080;
}

server{
        listen 80;
        autoindex on;
        server_name www.superboys.xin;
        access_log /usr/local/nginx/logs/access.log combined;
        index index.html index.htm index.jsp index.php;
        location / {
                proxy_pass http://www.superboys.xin;
                add_header Access-Control-Allow-Origin *;
        }
}

对此配置进行讲解:
server节点:

  1. listen:监听域名的80端口
  2. autoindex:是否自动为目录建立索引
  3. servername:可以请求到nginx的域名
  4. access_log:日志存放目录
  5. index:主页访问文件名
  6. location:请求被转发的url

upstream节点:负载均衡相关配置,默认使用轮训方式
我们这里对被转发到url(www.superboys.xin)的请求分别负载到两个server上,他们的路径分别为本地服务器的8080端口与8090端口,负载均衡方式为默认的轮询方式。
需要注意的是:upstream后面的路径配置要与location中的proxy_pass的域名配置保持一致。

(3)至此,整体nginx配置完毕,启动nginx服务,进行调试测试。reload nginx配置文件
在conf目录下执行命令:

./nginx -s reload

5、集群环境验证

  • 笔者采用的是更换两个tomcat的首页图标进行区分,将其中一个tomcat的webapp目录下,ROOT项目路径下的tomcat.png换成任意其他图片,名称不变。
  • 对于上述验证方法,在刷新浏览器测试负载均衡效果的时候,注意使用【清除缓存】刷新方式,Ctrl+F5,有些浏览器(比如谷歌)只按F5会走缓存刷新,根本看不见负载均衡效果。

6、balabala~

笔者是个菜鸟,文章也就是为了记录一下学习的过程,大神看见了文章发现有错误请评论给我,我改正。(#^.^#)

你可能感兴趣的:(Nginx)