nginx+tomcat负载均衡群集

Tomcat介绍
Tomcat是一个免费开源Web应用服务器,属于轻量级应用服务器软件,是Apache基金会的一项核心项目,Tomcat通常运行在后台单独运行
在这里插入图片描述
反向代理:
反向代理方式实际上就是一台负责转发的代理服务器,貌似充当了真正服务器的功能,但实际上并不是,代理服务器只是充当了转发的作用,并且从真正服务器哪里取回的数据
其实Nginx完成的就是这样的工作,我们让nginx监听一个端口,如80端口,但实际上我们转发给8080端口的Tomcat,由它来处理真正的请求,当请求完成后,Tomcat返回,但数据此时没有直接返回,而是直接给nginx,由nignx进行返回,这里,我们会以为是nginx进行处理,但实际上进行处理的是tomcat
项目环境
Nginx负载均衡 192.168.200.51 Nginx
Tomcat1 192.168.200.52 Apache-tomcat jdk
Tomcat2 192.168.200.53 Apache-tomcat jdk

配置Tomcat环境:两台Tomcat配置一致,关闭iptables防火墙
1、 安装JDK,配置java环境
[root@tomcat1 opt]# tar xf jdk-8u161-linux-x64.tar.gz
[root@tomcat1 opt]# mv jdk1.8.0_161/ /usr/local/java
[root@tomcat1 opt]# vim /etc/profile.d/java.sh
export JAVA_HOME=/usr/local/java
export PATH= P A T H : PATH: PATH:JAVA_HOME/bin
[root@tomcat1 opt]# source /etc/profile.d/java.sh
[root@tomcat1 opt]# echo $PATH
/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/java/bin
2、 安装配置Tomcat
[root@tomcat1 opt]# tar xf apache-tomcat-7.0.54.tar.gz
[root@tomcat1 opt]# mv apache-tomcat-7.0.54 /usr/local/tomcat7
[root@tomcat1 opt]# /usr/local/tomcat7/bin/startup.sh //开启Tomcat
[root@tomcat1 opt]# netstat -antp |grep 8080
tcp 0 0 :::8080 ::: LISTEN 2020/java
如果需要关闭Tomcat,可以执行下面命令
[root@tomcat1 opt]# /usr/local/tomcat7/bin/shutdown.sh
3、 建立JAVA的Web站点
[root@tomcat1 opt]# mkdir -p /web/webapp1
[root@tomcat1 opt]# echo “

Tomcat_1_test

” >/web/webapp1/index.jsp
4、 修改Tomcat的server.xml文件,定义一个虚拟主机
[root@tomcat1 opt]# cd /usr/local/tomcat7/conf/
[root@tomcat1 conf]# cp -p server.xml server.xml.origin
[root@tomcat1 conf]# vim server.xml
126
127
docBase:web应用的文档基准目录
reloadable:手指监视类是否变化
关闭Tomcat服务,然后再重启启动,可以先查看一下是否启动
[root@tomcat1 conf]# netstat -anpt |grep :8080 //查看是否启动
[root@tomcat1 conf]# /usr/local/tomcat7/bin/shutdown.sh //关闭tomcat
[root@tomcat1 conf]# /usr/local/tomcat7/bin/startup.sh //开启tomcat
[root@tomcat1 conf]# netstat -anpt |grep 8080 //查看是否启动成功
在这里如果没有启动成功,可以查看日志文件
[root@tomcat1 conf]# cat /usr/local/tomcat7/logs/catalina.out //日志文件
测试:如果访问出现问题,请查看一下是否iptables阻止了或者是服务没有起来!!!
在这里插入图片描述
5、 Tomcat2配置与Tomcat1相同,测试页面中的内容不一样即可
[root@Os opt]# mkdir -p /web/webapp2
[root@Os opt]# echo “

Tomcat_2_test

” >/web/webapp2/index.jsp
Server.xml配置文件内容修改:
[root@Os conf]# vim /usr/local/tomcat7/conf/server.xml
126
127
[root@Os conf]# /usr/local/tomcat7/bin/startup.sh
[root@Os conf]# netstat -anpt |grep 8080
测试:
在这里插入图片描述
Nginx负载均衡
1、 关闭iptables防火墙
2、 编译安装nginx
[root@Os opt]# yum -y install pcre-devel zlib-devel openssl-devel gcc gcc-c++ make
[root@Os opt]# tar xf nginx-1.6.0.tar.gz -C /usr/src/
[root@Os opt]# cd /usr/src/nginx-1.6.0/
[root@Os nginx-1.6.0]# useradd -M -s /sbin/nologin nginx
[root@Os nginx-1.6.0]# ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-file-aio --with-http_stub_status_module --with-http_gzip_static_module --with-http_flv_module --with-http_ssl_module && make && make install
[root@Os nginx-1.6.0]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/ //创建软连接
3、 编写一个脚本控制Nginx服务器
[root@Os nginx-1.6.0]# vim /etc/init.d/nginx
#!/bin/bash
#chkconfig: 35 90 15
#description:Nginx Server Control Script
PROG="/usr/local/nginx/sbin/nginx"
PIDF="/usr/local/nginx/logs/nginx.pid"
case “$1” in
start)
if [ -f $PIDF ];then
echo “Nginx is running… Start it is error”
else
$PROG
fi
;;
stop)
if [ -f $PIDF ];then
kill -s QUIT $(cat $PIDF)
rm -rf $PIDF
else
echo “Nginx is stopping … Stop it is error”
fi
;;
restart)
$0 stop
$0 start
;;
reload)
if [ -f $PIDF ];then
kill -s HUP $(cat $PIDF)
else
echo “Nginx is stopping . reload it is error”
fi
;;
status)
if [ -f $PIDF ];then
echo “Nginx is running”
else
echo “Nginx is stopping”
fi
;;
*)
echo “Usage: $0 (start|stop|restart|reload|status)”
exit 1
esac
exit 0
[root@Os nginx-1.6.0]# chmod +x /etc/init.d/nginx
[root@Os nginx-1.6.0]# chkconfig --add nginx
[root@Os nginx-1.6.0]# chkconfig --list nginx
nginx 0:关闭 1:关闭 2:关闭 3:启用 4:关闭 5:启用 6:关闭
[root@Os nginx-1.6.0]# chkconfig nginx on
4、 修改配置文件nginx.conf
[root@Os nginx]# cd /usr/local/nginx/conf/
[root@Os conf]# cp nginx.conf nginx.conf.bak
[root@Os conf]# vim nginx.conf

user nginx nginx;
worker_processes 2;

error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;

pid logs/nginx.pid;

events {
use epoll;
worker_connections 1024;
}

http {
include mime.types;
default_type application/octet-stream;

log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                  '$status $body_bytes_sent "$http_referer" '
                  '"$http_user_agent" "$http_x_forwarded_for"';

access_log  logs/access.log  main;

sendfile        on;

#tcp_nopush on;
server_tokens off; //版本号隐藏

#keepalive_timeout  0;
keepalive_timeout  65;

#gzip  on;
upstream tomcat_server {
            server 192.168.200.52:8080 weight=1;
            server 192.168.200.53:8080 weight=1;
    }           

server {
    listen       80;
    server_name  localhost;

    charset utf-8;

    #access_log  logs/host.access.log  main;

    location / {
        root   html;
        index  index.html index.htm;
    proxy_pass http://tomcat_server;      //与前面设置Upstream的名字相同
    }       

[root@Os conf]# nginx -t //检测文件是否有错误
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
[root@Os conf]# /usr/local/nginx/sbin/nginx
[root@Os conf]# netstat -anpt |grep nginx
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 4256/nginx
测试:
在这里插入图片描述
测试:
在这里插入图片描述

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

彩虹龙

您的鼓励将是我创作最大的努力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值