Nginx+Tomcat多实例及负载均衡配置

2020-09-16 16:21:29 浏览数 (1)

Nginx Tomcat多实例及负载均衡配置

采用nginx的反向代理负载均衡功能,配合后端的tomcat多实例来实现tomcat WEB服务的负载均衡

01

安装nginx服务

安装所需的pcre库

代码语言:javascript复制
 tar zxf pcre-8.38.tar.gz
cd pcre-8.38
./configure 
make && make install
cd ../

编译安装Nginx服务

代码语言:javascript复制
tar zxf nginx-1.11.3.tar.gz
cd nginx-1.11.3
useradd nginx -s /sbin/nologin -M
yum install openssl openssl-devel -y
./configure --user=nginx --group=nginx --prefix=/application/nginx-1.11.3 --with-http_ssl_module --with-http_stub_status_module 
make && make install

nginx服务的相关介绍及编译参数介绍可参考公众号前面的文章,有关服务的详细配置说明都有涉及到

02

安装JDK环境

Tomcat需要JDK的环境,因此在安装之前需要先安装JDK环境,首先下载好相应的JDK软件包

代码语言:javascript复制
tar xf jdk-8u60-linux-x64.tar.gz -C /application/

##无需编译直接解压到指定目录

代码语言:javascript复制
ln -s /application/jdk1.8.0_60 /application/jdk
代码语言:javascript复制
 ##创建软链接
sed -i.ori 'a export JAVA_HOME=/application/jdknexport PATH=JAVA_HOME/bin:JAVA_HOME/jre/bin:PATHnexport CLASSPATH=.CLASSPATH:JAVA_HOME/lib:JAVA_HOME/jre/lib:JAVA_HOME/lib/tools.jar' /etc/profile           
   ##配置环境变量
source /etc/profile             
  ##生效配置的环境变量
java -version                      
 ##查看JDK环境安装是否成功

03

安装配置Tomcat多实例

Tomcat的多实例配置也相当的简单,下载相应版本的软件,解压即可使用

代码语言:javascript复制
tar xf apache-tomcat-8.0.27.tar.gz -C /application/
ln -s /application/apache-tomcat-8.0.27 /application/tomcat
echo 'export TOMCAT_HOME=/application/tomcat'>>/etc/profile

多实例安装配置如下

代码语言:javascript复制
cp -a apache-tomcat-8.0.27 /application/tomcat8_1
cp -a apache-tomcat-8.0.27 /application/tomcat8_2

切换到相关目录修改相应的配置文件即可

(两个实例的配置文件改动的地方相同,只需要修改端口与站点目录即可)

代码语言:javascript复制
cd /application/tomcat8_2/conf/
diff /application/tomcat/conf/server.xml ./server.xml
22c22
< <Server port="8005" shutdown="SHUTDOWN">
---
> <Server port="8012" shutdown="SHUTDOWN">
69c69
<     <Connector port="8080" protocol="HTTP/1.1"
---
>     <Connector port="8082" protocol="HTTP/1.1"
123c123
<       <Host name="localhost"  appBase="webapps"
---
>       <Host name="localhost"  appBase="/web/www/bbs"

创建站点目录

代码语言:javascript复制
mkdir /web/www/{www,bbs}/ROOT -p
echo "hello">/web/www/www/ROOT/index.jsp
echo "world">/web/www/bbs/ROOT/index.html

启动多实例

代码语言:javascript复制
/application/tomcat8_1/bin/startup.sh
/application/tomcat8_2/bin/startup.sh

04

配置nginx

代码语言:javascript复制
vim /application/nginx/conf/nginx.conf
#user  nobody;
worker_processes  1;
#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;
#pid        logs/nginx.pid;
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
#log_format  main  'remote_addr - remote_user [time_local] "
    #                  'status body_bytes_sent "
    #                  '"
    #access_log  logs/access.log  main;
    sendfile        on;
    #tcp_nopush     on;
    #keepalive_timeout  0;
    keepalive_timeout  65;
    #gzip  on;
upstream web_pools {
        server 127.0.0.1:8081;
        server 127.0.0.1:8082;
        }
    server {
        listen       80;
        server_name  localhost;
        location / {
            root   html;
            index  index.jsp index.html index.htm;
            proxy_pass http://web_pools;
        }
     }
}

查检语法与启动nginx服务

代码语言:javascript复制
/application/nginx/sbin/nginx -t
/application/nginx/sbin/nginx
05

测试负载均衡效果

代码语言:javascript复制
for i in `echo {1..6}`;do curl 192.168.1.129;done
hello
world
hello
world
hello
world

表明负载均衡配置已经实现

0 人点赞