Nginx访问tomcat多实例

无论是用户访问任何东西都访问后端代理

用户在访问静态页面,java代理到tomcat实例上

1、挂载镜像
[root@kvm122109 Nginx]# mount /dev/cdrom /mnt/

2、安装依赖包
[root@kvm122109 Nginx]# yum -y install gcc gcc-c++ make autoconf openssl openssl-devel

3、解压
[root@kvm122109 Nginx]# tar xf nginx-1.12.1.tar
[root@kvm122109 Nginx]# tar xf pcre-8.40.tar.gz #让nginx支持正则

4、创建用户
[root@kvm122109 Nginx]# useradd -s /sbin/nologin nginx

5、进入到nginx路径
[root@kvm122109 Nginx]# cd nginx-1.12.1/

6、配置
[root@kvm122109 nginx-1.12.1]# ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_ssl_module --with-http_stub_status_module --with-file-aio --with-http_dav_module --with-pcre=/root/Nginx/pcre-8.40

7、编译
[root@kvm122109 nginx-1.12.1]# make

8、安装
[root@kvm122109 nginx-1.12.1]# make install

9、编辑启动配置
[root@kvm122109 nginx-1.12.1]# vim /usr/lib/systemd/system/nginx.service

[Unit]
Description=The nginx HTTP and reverse proxy server
After=syslog.target network.target remote-fs.target nss-lookup.target

[Service]

Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStartPre=/usr/local/nginx/sbin/nginx -t
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true

[Install]

WantedBy=multi-user.target

10、启用脚本
[root@kvm122109 nginx-1.12.1]# systemctl daemon-reload

11、启动nginx
[root@kvm122109 nginx-1.12.1]# systemctl start nginx

Tomcat多实例部署

配置过程:

配置两个Tomcat实例,分别运行/webapps/ROOT下的网站

实例1:
目录:/usr/local/tomcat/multi-instance/instace1 8081 8091

实例2:
目录: /usr/local/tomcat/multi-instance/instace2 8082 8092

1、安装Tomcat

1)安装JDK

[root@kvm122105 tomcat]# rpm -ivh jdk-8u66-linux-x64.rpm

2)安装Tomcat

[root@kvm122105 tomcat]# tar xf apache-tomcat-8.0.44.tar.gz

[root@kvm122105 tomcat]# mv apache-tomcat-8.0.44 /usr/local/tomcat

2、创建多实例目录

[root@kvm122105 tomcat]# mkdir -p /usr/local/tomcat/multi-instance/instance{1,2}/{conf,logs}

3、将tomcat里面的conf文件全部复制到新创建的实例目录下

[root@kvm122105 tomcat]# cp /usr/local/tomcat/conf/* /usr/local/tomcat/multi-instance/instance1/conf/

[root@kvm122105 tomcat]# cp /usr/local/tomcat/conf/* /usr/local/tomcat/multi-instance/instance2/conf/

4、修改各文件配置

[root@kvm122105 tomcat]# vim /usr/local/tomcat/multi-instance/instance1/conf/server.xml

#实例端口

<Host name=“localhost” appBase="/webapps1"

[root@kvm122105 tomcat]# vim /usr/local/tomcat/multi-instance/instance2/conf/server.xml

#实例端口

<Host name=“localhost” appBase="/webapps2"

5、因为修改了访问路径,现在是以根目录的webapps进行访问,则进行创建目录

[root@kvm122105 tomcat]# mkdir -pv /webapps/ROOT

6、创建访问主页

[root@kvm122105 tomcat]# vim /webapps/ROOT/index.jsp

<%@ page language=“java” contentType=“text/html; charset=UTF-8”
pageEncoding=“UTF-8”%>

你好
    <%for(int i=1;i<=6;i++){ %>
            <h<%=i%> align="center">欢迎访问jsp页面!</h<%=i%>>
    <%} %>

    <body>

    </body>

7、为方便你控制这两个实例,用脚本进行控制

[root@kvm122105 tomcat]# vim /usr/local/tomcat/multi-instance/instance1/ins1.sh

#!/bin/bash
#instace1 script

export JAVA_OPTS=’-Xms64m -Xmx128m’
export CATALINA_HOME=/usr/local/tomcat
export CATALINA_BASE=/usr/local/tomcat/multi-instance/instance1

case $1 in
start)
$CATALINA_HOME/bin/startup.sh
;;
stop)
$CATALINA_HOME/bin/shutdown.sh
;;
restart)
$CATALINA_HOME/bin/shutdown.sh
sleep 3
$CATALINA_HOME/bin/startup.sh
;;
esac

[root@kvm122105 tomcat]# vim /usr/local/tomcat/multi-instance/instance2/ins2.sh

#!/bin/bash
#instace2 script

. /etc/init.d/functions

export JAVA_OPTS=’-Xms64m -Xmx128m’
export CATALINA_HOME=/usr/local/tomcat
export CATALINA_BASE=/usr/local/tomcat/multi-instance/instance2

case $1 in
start)
$CATALINA_HOME/bin/startup.sh
;;
stop)
$CATALINA_HOME/bin/shutdown.sh
;;
restart)
$CATALINA_HOME/bin/shutdown.sh
sleep 5
$CATALINA_HOME/bin/startup.sh
;;
esac

8、添加执行权限:

[root@kvm122105 tomcat]# chmod a+x /usr/local/tomcat/multi-instance/instance2/ins2.sh

[root@kvm122105 tomcat]# chmod a+x /usr/local/tomcat/multi-instance/instance1/ins1.sh

9、启动:

[root@kvm122105 tomcat]# /usr/local/tomcat/multi-instance/instance1/ins1.sh start

[root@kvm122105 tomcat]# /usr/local/tomcat/multi-instance/instance2/ins2.sh start

[root@kvm122105 tomcat]# ss -antp | grep java

解决tomcat访问慢:

先安装rng

[root@kvm122105 tomcat]# yum install rng-tools

[root@kvm122105 tomcat]# cp /usr/lib/systemd/system/rngd.service /etc/systemd/system

[root@kvm122105 tomcat]# vim /etc/systemd/system/rngd.service

在里面增加-r /dev/urandom

[Unit]
Description=Hardware RNG Entropy Gatherer Daemon

[Service]
ExecStart=/sbin/rngd -f -r /dev/urandom

[Install]
WantedBy=multi-user.target

[root@kvm122105 tomcat]# systemctl daemon-reload

[root@kvm122105 tomcat]# systemctl restart rngd

10、在浏览器里面进行访问tomcat
http://192.168.122.105:8081/
http://192.168.122.105:8082/

配置nginx的访问

[root@kvm122109 nginx-1.13.4]# vim /usr/local/nginx/conf/nginx.conf

#gzip  on;
upstream tomcatsrv {
     server 192.168.122.105:8081;
     server 192.168.122.105:8082;
}

    location / {
            proxy_pass http://tomcatsrv;
            proxy_set_header x-real-ip $remote_addr;
    }

[root@kvm122109 nginx-1.13.4]# systemctl nginx restart

修改tomcat配置文件,将%h改为%{x-real-ip},两个实例都要修改

[root@kvm122105 tomcat]# vim /usr/local/tomcat/multi-instance/instance1/conf/server.xml

pattern="%{x-real-ip}i %l %u %t “%r” %s %b" />

[root@kvm122105 tomcat]# vim /usr/local/tomcat/multi-instance/instance2/conf/server.xml

pattern="%{x-real-ip}i %l %u %t “%r” %s %b" />

两个实例修改完后,重启tomcat

[root@kvm122105 tomcat]# /usr/local/tomcat/multi-instance/instance1/ins1.sh restart

[root@kvm122105 tomcat]# /usr/local/tomcat/multi-instance/instance2/ins2.sh restart

在浏览器上输入IP地址进行测试:
http://192.168.122.109/
也可以访问:
http://192.168.122.109/index.jsp

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值