前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Nginx+Tomcat多实例及负载均衡配置

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

作者头像
民工哥
发布2020-09-16 16:21:29
6510
发布2020-09-16 16:21:29
举报
文章被收录于专栏:民工哥技术之路

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/jdk\nexport PATH=JAVA_HOME/bin:JAVA_HOME/jre/bin:PATH\nexport 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

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

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2017-04-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 民工哥技术之路 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
负载均衡
负载均衡(Cloud Load Balancer,CLB)提供安全快捷的流量分发服务,访问流量经由 CLB 可以自动分配到云中的多台后端服务器上,扩展系统的服务能力并消除单点故障。负载均衡支持亿级连接和千万级并发,可轻松应对大流量访问,满足业务需求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档