05 Nginx+Tomcat负载均衡、动静分离群集

5.1. 引言

        在Web应用开发中,随着访问量的增加,单个服务器往往难以承受高并发请求,同时对于静态资源和动态资源的处理也需要进行分离以提高效率。Nginx因其强大的静态资源处理能力和高并发支持,常被用作反向代理和负载均衡器;而Tomcat则以其轻量级和强大的Servlet/JSP支持,成为处理动态请求的首选。本文将详细介绍如何搭建Nginx+Tomcat的负载均衡与动静分离群集。

5.2. 环境准备

5.2.1 主机与软件环境

本案例涉及三台服务器,分别用于部署Nginx和两台Tomcat实例。具体环境如下:

主机名

操作系统

IP地址

主要软件

Nginx服务器

CentOS 7.3 x86_64

192.168.10.101

nginx-1.12.0.tar.gz

Tomcat服务器1

CentOS 7.3 x86_64

192.168.10.102

apache-tomcat-8.5.16.tar.gz

Tomcat服务器2

CentOS 7.3 x86_64

192.168.10.103

apache-tomcat-8.5.16.tar.gz

5.2.2 前期准备

1. 关闭防火墙

:在所有服务器上关闭firewalld防火墙。

[root@localhost ~]# systemctl stop firewalld 
 [root@localhost ~]# setenforce 0

2.安装JDK

:Tomcat运行需要JDK环境,确保所有Tomcat服务器上已安装JDK,并设置环境变量。

如未安装,可通过yum安装OpenJDK。

5.2.3. Tomcat部署

1 安装Tomcat

        1.下载并解压Tomcat
[root@localhost ~]# tar xf apache-tomcat-8.5.16.tar.gz 
[root@localhost ~]# mv apache-tomcat-8.5.16/ /usr/local/tomcat8
        2.启动Tomcat
[root@localhost ~]# /usr/local/tomcat8/bin/startup.sh
3.验证Tomcat是否启动成功
通过浏览器访问http://:8080,查看Tomcat默认页面。

2 配置Tomcat

1.修改server.xml

在Tomcat的conf/server.xml文件中,可以修改端口号、定义虚拟主机等。

<Connector port="8080" protocol="HTTP/1.1"         
    connectionTimeout="20000"            
     redirectPort="8443" />   
     <Host name="localhost" appBase="webapps"  
           unpackWARs="true" autoDeploy="true">     
            <Context docBase="/web/webapp1" path="" reloadable="false">  
           </Context>  
       </Host>
2.创建Web应用目录

在/web/webapp1目录下创建JSP测试页面。

[root@localhost ~]# mkdir -pv /web/webapp1 
[root@localhost ~]# vim /web/webapp1/index.jsp

编辑index.jsp文件,添加JSP代码。

3.重启Tomcat
[root@localhost ~]# /usr/local/tomcat8/bin/shutdown.sh 
[root@localhost ~]# /usr/local/tomcat8/bin/startup.sh

3. Nginx配置

1.安装nginx
[root@localhost ~]# yum -y install pcre-devel zlib-devel gcc*
[root@localhost ~]# useradd -M -s /sbin/nologin nginx
[root@localhost ~]# tar zxvf nginx-1.12.0.tar.gz 
[root@localhost ~]# cd nginx-1.12.0
[root@localhost nginx-1.12.0]# ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx
[root@localhost nginx-1.12.0]# make && make install
[root@localhost nginx-1.12.0]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/
2:编辑测试网页文件
[root@localhost ~]# vim /usr/local/nginx/html/index.html <body> <h1>静态页面</h1> <p>这是个静态页面</p> </body>
3:添加图片
[root@nginx ~]# mkdir /usr/local/nginx/html/img //创建静态文件目录 
[root@nginx ~]# cp /root/logo.jpg /usr/local/nginx/html/img
4:修改主配置文件
[root@localhost ~]# vim /usr/local/nginx/conf/nginx.conf
(1)在http配置项中添加
upstream tomcat_server { server 192.168.10.102:8080 weight=1; server 192.168.10.103:8080 weight=1; }
(2)在server配置项中添加
charset utf-8;
location / {
       root   html;
       index  index.html index.htm;
}

location ~ .*\.jsp$ {
        proxy_set_header HOST $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header Client-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://tomcat_server;
}

location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ {
        root /usr/local/nginx/html/img;
        expires 30d;
}

5:启动nginx

[root@localhost ~]# nginx

6:修改tomcat的配置文件,并重启tomcat

<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_access_log" suffix=".txt" pattern="%a %r %t %{X-Real-IP}i" resolveHosts="false" />

6:测试

浏览器打开网站

(1)静态网站测试

http://192.168.10.101

(2)动态网站测试

http://192.168.10.101/index.jsp

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值