nginx负载均衡与动静分离

我已经改变,但也来不及了。 --《搁浅》

1.环境准备

分别准备两台虚拟机,一台负责使用nginx进行负载均衡控制与动静分离,另一台则部署两个tomcat接收服务请求。
在这里插入图片描述

2.准备server2(部署tomcat的服务器)

在server2上安装tomcat,并解压至tomcat8081文件夹以及tomcat8082文件夹,然后分别配置其server.xml。
tomcat8081:

<Server port="8015" shutdown="SHUTDOWN">

and

<Connector port="8081" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />

tomcat8082:

<Server port="8025" shutdown="SHUTDOWN">

and

<Connector port="8082" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />

然后在其webapp文件夹下分别建立tomcat8081文件夹以及tomcat8082文件夹,分别在其中建立一个index.html,内容自定义可区分即可,分别到两个tomcat的bin目录下启动两个tomcat。

# 启动tomcat
./startup.sh

# 查看两个tomcat状态
[root@localhost tomcat8081]# ps -ef | grep tomcat
root       8053      1  0 03:22 pts/0    00:00:41 /usr/lib/jvm/java-1.8.0-openjdk/bin/java -Djava.util.logging.config.file=/tomcat/tomcat8081/apache-tomcat-8.5.78/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK=0027 -Dignore.endorsed.dirs= -classpath /tomcat/tomcat8081/apache-tomcat-8.5.78/bin/bootstrap.jar:/tomcat/tomcat8081/apache-tomcat-8.5.78/bin/tomcat-juli.jar -Dcatalina.base=/tomcat/tomcat8081/apache-tomcat-8.5.78 -Dcatalina.home=/tomcat/tomcat8081/apache-tomcat-8.5.78 -Djava.io.tmpdir=/tomcat/tomcat8081/apache-tomcat-8.5.78/temp org.apache.catalina.startup.Bootstrap start
root       8096      1  0 03:25 pts/0    00:00:40 /usr/lib/jvm/java-1.8.0-openjdk/bin/java -Djava.util.logging.config.file=/tomcat/tomcat8082/apache-tomcat-8.5.78/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK=0027 -Dignore.endorsed.dirs= -classpath /tomcat/tomcat8082/apache-tomcat-8.5.78/bin/bootstrap.jar:/tomcat/tomcat8082/apache-tomcat-8.5.78/bin/tomcat-juli.jar -Dcatalina.base=/tomcat/tomcat8082/apache-tomcat-8.5.78 -Dcatalina.home=/tomcat/tomcat8082/apache-tomcat-8.5.78 -Djava.io.tmpdir=/tomcat/tomcat8082/apache-tomcat-8.5.78/temp org.apache.catalina.startup.Bootstrap start
root       9867   7761  0 21:36 pts/0    00:00:00 grep --color=auto tomcat

3.准备server1(部署nginx的服务器)

3.1 准备静态资源(动静分离要用)

在根目录建立data文件夹,并在文件夹中建立images(存放图片)和www(存放静态网页)
在这里插入图片描述

3.2 配置nginx

nginx配置文件一般在下述位置:

vim /etc/nginx/nginx.conf

增加以下部分:其中192.168.125.12为tomcat所在虚拟机的IP地址,9001为nginx所在虚拟机的监听端口,这里采用NAT地址转换,要在vmware上设置对应的端口转发规则,如果采用的是桥接就不需要,这里设置的端口转发规则如下:
在这里插入图片描述
注意这里的虚拟IP地址,前9位必须对应vnet8的子网前九位如下:并且最后三位不能超过2^8-1=255
![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/8dfd305e5b664c7cb00a325cc9baa667.png

# 这里默认为轮换的算法,其他算法可自行查看官方文档操作
upstream myServers {
        server 192.168.125.12:8081;
        server 192.168.125.12:8082;
    }
server{
     listen 9001;
     server_name www.cpf.com;
     location ~ /tomcat8081/ {
             proxy_pass http://192.168.125.12:8081;
     }
     location ~ /tomcat8082/ {
             proxy_pass http://192.168.125.12:8082;
     }
 }

配置完后检查一下配置文件是否合规,如果有错误,它会给出相应的提示。

sudo nginx -t

重新加载 Nginx 配置:

sudo nginx -s reload

这会使 Nginx 重新加载配置文件,而不会中断现有的连接。
配置完后在宿主机浏览器就可以访问了。
至于动静分离,先在nginx.comf文件继续添加以下配置:location即刚刚在根目录文件下所创建的内容。

 server{
        listen 9003;
        server_name www.cpf.com;
        location / {
                root /data/www;
        }
        location /images/ {
                root /data;
        }
    }

这里端口转发规则为:
在这里插入图片描述

访问www.chhei.com:9003/index.html和www.chhei.com:9003/images/xxx.jpg即可直接访问到nginx服务器上的静态资源而不需要请求另一台服务器。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

chhei.

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值