centos7.6安装nginx 部署TOMCAT集群

现在的企业级项目,可以说99.99%以上的项目,都是集群部署,当集群中的一个节点出现故障,会自动切换另一个节点,实现故障自动转移,现在就基于Nginx+tomcat搭建一套完整的集群。

一、环境介绍

PC1:centos7   IP:192.168.10.10  部署Tomcat应用及Nginx 
PC1:centos7   IP:192.168.10.11  部署Tomcat应用
物理机:192.168.10.100 用于作客户端 
JDK:1.8.0_171 
Tomcat:apache-tomcat-8.5.75

首先要保证PC1、2及物理机之间能相互通信,PC1、2中安装好Java运行环境及Tomcat

二、集群架构图 
在开始配置之前,先介绍一下整体的架构图,如下 
这里写图片描述
Nginx作为反向代理,接收用户的请求,将请求发送给服务器端,服务器端处理后返回结果,当其中一个服务器宕机后,Nginx自动切换另一台服务器响应用户请求

三、Tomcat配置 

在PC1上安装Tomcat,因为是两个不同的机器,不会存在Tomcat端口冲突的问题,因此不需要修改Tomcat下server.xml配置文件中的的端口,为了方便测试,分别使用两台服务器上的tomcat目录webapps下的默认页面index.html文件并在index.htm里在H2标题里添加PC机的IP,后面就基于这个文件的响应来测试集群 。

在物理机上分别访问PC1和PC2上的应用

http:// 192.168.10.10:8080

http:// 192.168.10.11:8080

这说明Tomcat的应用已经部署完成,并能成功访问,接下来开始配置Nginx 

四、Nginx安装

1安装方法一:源码编译安装

基础环境 centos7.6 mini

目录:/usr/local/src

1、安装前准备(根据各软件最新版本信息更改url)

下载nginx、openssl、zlib、pcre

登录Nginx官网nginx: download,下载nginx,得到nginx.tar文件 

è¿éåå¾çæè¿°

 进入到nginx目录,配置并安装nginx

  1. cd /usr/local/src

  2. wget http://nginx.org/download/nginx-1.10.2.tar.gz

  3. wget http://www.openssl.org/source/openssl-fips-2.0.10.tar.gz

  4. wget http://zlib.net/zlib-1.2.11.tar.gz

  5. wget https://ftp.pcre.org/pub/pcre/pcre-8.43.tar.gz

2安装(顺序不要错)

安装make

yum -y install gcc automake autoconf libtool make

安装gcc编译环境

# yum install gcc-c++

安装pcre

  1. # tar zxvf pcre-8.43.tar.gz

  2. # cd pcre-8.40

  3. # ./configure && make && make install
    如安装时提示:make: *** [aclocal.m4] 错误 127 
    解决: 先执行 autoreconf -ivf 加载缺失文件 后 再执行 make就可以了

安装openssl:        

  1. tar zxvf openssl-fips-2.0.10.tar.gz

  2. cd openssl-fips-2.0.10

  3. ./config && make && make install

安装zlib

  1. tar zxvf zlib-1.2.11.tar.gz

  2. cd zlib-1.2.11

  3. ./configure && make && make install

安装nginx

  1. tar zxvf nginx-1.10.2.tar.gz

  2. cd nginx-1.10.2

  3. ./configure && make && make install

这样安装完成后,nginx的路径为/usr/local/nginx/sbin/nginx

启动Nginx服务 
进入到/usr/local/nginx/sbin/,直接运行nginx文件,启动Nginx服务

启动和停止Nginx

在浏览器上输入地址http://192.168.10.10,出现如下界面,说明Nginx安装启动成功 

2Nginx安装方法二:

查看CentOS的版本

cat /etc/redhat-release

添加资源库

在 CentOS 系统上安装 Nginx ,得先去添加一个资源库:

vim /etc/yum.repos.d/nginx.repo

  1. [nginx]

  2. name=nginx repo

  3. baseurl=http://nginx.org/packages/centos/$releasever/$basearch/

  4. gpgcheck=0

  5. enabled=1

安装nginx

yum -y install nginx

使用命令

  1. systemctl stop nginx.service #停止nginx服务

  2. systemctl start nginx.service #打开nginx服务

  3. systemctl restart nginx.service #重启nginx服务

  4. systemctl status nginx.service #查看nginx服务状态

验证nginx安装成果:

 进入到/usr/local/nginx/sbin/,直接运行nginx文件,启动Nginx服务

启动和停止Nginx

在浏览器上输入地址http://192.168.10.10,出现如下界面,说明Nginx安装启动成功 

五、配置Nginx+Tomcat集群 

nginx的配置文件主要是nginx.conf,在安装路径/usr/local/nginx/下的conf目录中,如没有nginx.conf文件,只有nginx.conf.default文件,可以根据nginx.conf.default文件,copy一份生成nginx的配置文件nginx.conf

修改nginx.conf配置文件,如下

#user  nobody;
worker_processes  1;
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;

    upstream myserver{
       server 192.168.130.129:8080 weight=5 max_fails=2;
       server 192.168.130.128:8080 weight=1 max_fails=2;

    }
    server {
        listen       80;#监听80端口
        server_name  myserver;

        #charset koi8-r;
        #access_log  logs/host.access.log  main;

        location / {
            root   html;
            index  index.html index.htm;
            proxy_pass http://myserver; #这里的myserver必须要和upstream中指定的一致
            #proxy_redirect on;
            proxy_next_upstream http_502 http_504 http_404 error timeout invalid_header;

        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
}

重新检查并加载配置文件

 

[root@ls sbin]# ./nginx -s reload 

启动验证 
验证1:同时启动PC1和PC2上的tomcat服务,在浏览器上输入验证地址:http://192.168.10.10,多刷新几次,会发现有时请求PC2上的服务,有时请求PC1上的服务,请求PC2的服务比PC1上的次数多,因为权重比例是5:1的嘛.

到此,Tomcat的集群就已经配置完成,Nginx会自动识别,如果有未响的服务器,Nginx会自动将此服务器踢出集群中,当故障恢复后,Nginx会自动将它加入到集群中,整个过程都自动化,我们唯一要做的是修复故障的服务器。

链接:https://www.jianshu.com/p/24ebf5437a9e  架构系列二:使用Nginx+tomcat实现集群部署_kity9420的专栏-CSDN博客_nginxtomcat集群部署
来源:网络
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值