nginx实现负载均衡tomcat

本文详细介绍了在CentOS6.9环境下,如何安装配置JDK、Tomcat多实例以及Nginx反向代理。通过具体步骤,实现Tomcat的多实例部署,并利用Nginx进行负载均衡,确保系统的稳定性和高效性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  • 环境声明


系统统一为CentOS6.9

nginx的版本:nginx的-1.2.9.tar.gz

JDK版本:JDK-8u191-Linux的x64.tar.gz

Tomcat的版本:Apache的Tomcat的8.5.35.tar.gz

主机IP地址:

       nginx的反向代理:192.168.0.2

       tomcat的JDK +:192.168.0.3

本次实验为Tomcat的多实例(虚拟主机)

 

  • 0.3主机安装JDK步骤


  1. 上传JDK + Tomcat的源码包至192.168.0.3主机
  2. 检查主机是否安装java中,如果有则卸载
    rpm -q java        #检查系统是否自带java
    rpm -e --nodeps java        #如果有则卸载java

     

  3. 解压JDK包至/ Iur的/本地/下

    tar -xf jdk-8u191-linux-x64.tar.gz -C /usr/local/
    #解压jdk包至/usr/local/
    cd /usr/local/
    mv jdk1.8.0_191 jdk1.8
    #为了方便找jdk,进入解压目录并重命名

     

  4. 配置JDK环境变量

    vim /etc/profile        #修改环境变量配置文件
    #大G 跳到最后一行,添加
    #JAVA
    export JAVA_HOME=/usr/local/jdk1.8
    export JAVA_BIN=/usr/local/jdk1.8/bin
    export PATH=$PATH:$JAVA_HOME/bin
    export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
    
    #退出
    source /etc/profile
    #重新加载环境变量配置文件

     

  • 0.3主机安装的Tomcat步骤


  1. 解压的Tomcat软件包值在/ usr /本地/目录下
    tar -xf apache-tomcat-8.5.35.tar.gz -C /usr/local
    #将软件包解压至指定目录下
    cd /usr/local/
    mv apache-tomcat-8.5.35 /usr/local/apache-tomcat

     

  2. 配置Tomcat的环境变量
    vim /etc/profile
    #打开环境变量配置文件,大G,添加tomcat环境变量
    #TOMCAT
    export TOMCAT_HOME=/usr/local/tomcat-8080
    export PATH=$PATH:$TOMCAT_HOME/bin
    
    source /etc/profile
    #刷新配置文件

     

  3. 将tomcat的的仓目录全部赋予执行权限
    chmod +x /usr/local/apache-tomcat/bin/*

     

  4. 开启的tomcat
    /usr/local/tomcat-8080/bin/startup.sh
    #开启taocat

     

  • 配置Tomcat的多实例步骤


  1. 将运行的tomcat的停止
    /usr/local/tomcat-8080/bin/shutdown.sh
    #关闭tomcat

     

  2. 拷贝解压目录,并删除实例下的日志文件
    cd /usr/local/
    cp -a apache-tomcat/ ./apache-tomcat-8090
    #这里我拷贝的另一个实例为apache-tomcat-8090
    
    cd apache-tomcat-8090/logs/
    rm -rf *
    #进到8090实例的logs目录下,删除所有日志文件
    

     

  3. 打开Tomcat的配置文件,把把关机和连接器端口修改成自己想要的端口
    cd /usr/local/apache-tomcat-8090/conf/
    #进到tomcat的配置目录下
    
    vim server.xml        #打开tomcat配置文件
    
    #这里的8005端口为默认关闭tomcat端口,因在第一个实例中8005以被占用,所以要修改为8006
    <Server port="8005" shutdown="SHUTDOWN">
    <Server port="8006" shutdown="SHUTDOWN">
    
    #这一行为tomcat默认开启的端口,因第一个实例占用8080端口,所以改为8090端口
    <Connector port="8080" protocol="HTTP/1.1"
    <Connector port="8090" protocol="HTTP/1.1"
    
    #修改端口可改成自己的端口,可随便改,没有限制,后面开始时记得访问自己修改的端口即可

     

  4. 启动tomcat的多实例
    /usr/local/apache-tomcat/bin/startup.sh start
    #开启tomcat第一个实例
    
    /usr/local/apache-tomcat-8090/bin/startup.sh start
    #开启tomcat第二个实例

     

02主机nginx的反向代理配置


  1. 解决nginx的源码安装时的依赖关系并安装GCC
    yum -y install pcre-devel zlib-devel gcc*

     

  2. 解压软件包并创建用户
    tar –xf nginx-1.2.9.tar.gz
    useradd -r -s /sbin/nologin nginx

     

  3. 进到软件目录,编译并安装
    ./configure --prefix=/usr/local/nginx –-user=nginx –-group=nginx
    #因为nginx做负载均衡,所以没有必要编译其他模块,只指定了一个运行用户和组
    echo $? 
    #查看是否有报错
    
    make && make install

     

  4. 修改配置文件,添加负载均衡
    cd /usr/local/nginx/conf/
    cp -a nginx.conf nginx.conf.bak
    #备份一下nginx配置文件,留作以后还原
    
    vim nginx.conf
    
    2 user  nginx;        #修改了nginx运行时的用户
    3 worker_processes  auto;        #修改了启动进程数量为自动
    
    34     upstream tomcat {
    35         server 192.168.0.3:8080;
    36         server 192.168.0.3:8090;
    37     }
    #添加了一个负载调度池
    
    47         #location / {
    48         #    root   html;
    49         #    index  index.html index.htm;
    50         #}
    #注释掉了location区域里并在下面添加了一个新的location区域
    
    54         location / {
    55                 proxy_pass http://tomcat;      #将来自jsp请求交给tomcat调度池处理
    56                 proxy_set_header   Host   $host;
                        #后端的Web服务器可以通过X-Forwarded-For>获取用户真实IP
    57                 
    58         }
    

     

  5. 使用nginx的自带命令检查配置文件
    [root@localhost ~]# /usr/local/nginx/sbin/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
    
    #使用nginx -t选项来测试配置文件是否正常

     

为了实验环境可以看出访问不同的Tomcat的实例,修改的Tomcat的首页文件以分别区分


需注意:

apache和tomcat网页默认保存位置
/usr/local/apache-tomcat/webapps             相当于apache的/var/www/html
#在tomcat下webapps目录下新建网站目录,存放网页,如果在webapps目录下新建网页tomcat是不认的

/usr/local/apache-tomcat/webapps/ROOT        相当于apache的/etc/httpd/conf.d/welcome.conf
#如果网站测试目录下没东西,则使用测试页

tomcat配置文件目录
/usr/local/apache-tomcat/conf

因不会写的Java网页,则去修改的Tomcat的测试页,来区分不同实例

vim /usr/local/apache-tomcat/webapps/ROOT/index.jsp
#修改测试页

在vim的末行模式下:
/Home

找到Home改为ROOT

保存并退出

再去nginx的上测试,就会发现两个实例一个为家庭,一个为ROOT

 

以上为所有试验步骤

当一台主机上运行多个Tomcat的实例时,可以理解为阿帕奇的虚拟主机

当多台主机上运行同一个tomcat的实例时,则为多机并存

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值