nginx+Tomcat多实例部署及负载均衡

news/2024/7/7 21:48:32 标签: nginx, tomcat, 负载均衡

目录

nginx%E5%A4%9A%E5%AE%9E%E4%BE%8B-toc" style="margin-left:40px;">一、nginx多实例

1、安装jdk

2、安装Tomcat

3、配置Tomcat环境

4、修改Tomcat 2的主配置文件

5、修改启动和关闭脚本文件

6、启动Tomcat并查看

nginx%E5%92%8CTomcat%E7%9A%84%E8%B4%9F%E8%BD%BD%E5%9D%87%E8%A1%A1%E5%92%8C%E5%8A%A8%E9%9D%99%E5%88%86%E7%A6%BB-toc" style="margin-left:40px;">二、nginx和Tomcat的负载均衡和动静分离

nginx%E7%9A%84%E8%B4%9F%E8%BD%BD%E5%9D%87%E8%A1%A1%E5%99%A8-toc" style="margin-left:80px;">1、部署nginx负载均衡

2、部署第一台Tomcat

3、部署第二台Tomcat

nginx%E7%9A%84%E9%85%8D%E7%BD%AE-toc" style="margin-left:80px;">4、nginx的配置


一、nginx多实例

1、安装jdk

[root@localhost opt]# ls         
jdk-8u201-linux-x64.rpm  rh

[root@localhost opt]# rpm -ivh jdk-8u201-linux-x64.rpm 


java -version

 

 2、安装Tomcat


tar zxvf apache-tomcat-9.0.16.tar.gz

mkdir /usr/local/tomcat

cp -a apache-tomcat-9.0.16 /usr/local/tomcat/tomcat1
cp -a apache-tomcat-9.0.16 /usr/local/tomcat/tomcat2

​

 

 

 3、配置Tomcat环境变量

[root@localhost ~]# vim /etc/profile.d/tomcat.sh 

#tomcat1
export CATALINA_HOME1=/usr/local/tomcat/tomcat1
export CATALINA_BASE1=/usr/local/tomcat/tomcat1
export TOMCAT_HOME1=/usr/local/tomcat/tomcat1

#tomcat2
export CATALINA_HOME2=/usr/local/tomcat/tomcat2
export CATALINA_BASE2=/usr/local/tomcat/tomcat2
export TOMCAT_HOME2=/usr/local/tomcat/tomcat2

source /etc/profile.d/tomcat.sh

 

4、修改Tomcat的主配置文件

vim /usr/local/tomcat/tomcat2/conf/server.xml
#在22行处进行修改
<Server port="8006" shutdown="SHUTDOWN">
#在69行处进行修改
 <Connector port="8081" protocol="HTTP/1.1"
#在116行处进行修改
 <Connector port="8010" protocol="AJP/1.3" redirectPort="8443" />

 

 

 

 

5、修改启动和关闭脚本文件

 vim /usr/local/tomcat/tomcat1/bin/startup.sh

export CATALINA_BASE=$CATALINA_BASE1
export CATALINA_HOME=$CATALINA_HOME1
export TOMCAT_HOME=$TOMCAT_HOME1


vim /usr/local/tomcat/tomcat1/bin/shutdown.sh
export CATALINA_BASE=$CATALINA_BASE1
export CATALINA_HOME=$CATALINA_HOME1
export TOMCAT_HOME=$TOMCAT_HOME1


vim /usr/local/tomcat/tomcat2/bin/startup.sh
export CATALINA_BASE=$CATALINA_BASE2
export CATALINA_HOME=$CATALINA_HOME2
export TOMCAT_HOME=$TOMCAT_HOME2


vim /usr/local/tomcat/tomcat2/bin/shutdown.sh
export CATALINA_BASE=$CATALINA_BASE2
export CATALINA_HOME=$CATALINA_HOME2
export TOMCAT_HOME=$TOMCAT_HOME2



6、启动Tomcat并查看

/usr/local/tomcat/tomcat1/bin/startup.sh
/usr/local/tomcat/tomcat2/bin/startup.sh

netstat -natp |grep java

 

 

 

二、nginx和Tomcat的负载均衡和动静分离

1、部署nginx均衡服务器

各服务器的配置

nginx服务器的配置:192.168.222.100

tomcat1服务器的配置:192.168.222.10

Tomcat2服务器的配置:192.168.222.20

1、安装依赖包
yum -y install pcre-devel zlib-devel openssl-devel gcc gcc-c++ make

2、新建用户

useradd -M -s /sbin/nologin nginx

3、切换到/opt目录下对压缩包进行解压
cd /opt
tar -zxf nginx-1.12.2.tar.gz 

4、进入解压目录进行编译,并安装
./configure \
--prefix=/usr/local/nginx \
--user=nginx \
--group=nginx \
--with-http_stub_status_module
make -j 4 && make install

5、让系统识别nginx操作命令

ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/

6、让nginx加入系统服务

cd /lib/systemd/system
vim nginx.service
#!/bin.bash
[Unit]
Description=nginx
After=network.target
[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/bin/kill -s HUP $MAINPID
ExecStop=/usr/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target


7、启动服务并验证
systemctl start nginx
netstat -natp |grep nginx

 

 

 

 

 

 

 

 

2、部署第一台Tomcat

1、准备Tomcat安装包

[root@localhost opt]# ls
apache-tomcat-9.0.16.tar.gz  jdk-8u201-linux-x64.rpm  rh


2、安装jdk

rpm -ivh jdk-8u201-linux-x64.rpm 

3、修改变量配置文件
vim /etc/profile
export JAVA_HOME=/usr/java/jdk1.8.0_201-amd64
export CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar
export PATH=$JAVA_HOME/bin:$PATH

4、刷新配置文件
source /etc/profile

5、切换至/opt下,解压tomcat包
cd /opt
tar -zxf apache-tomcat-9.0.16.tar.gz 

6、将解压后的包拷贝至/usr/local/下并重命名

cp -r apache-tomcat-9.0.16 /usr/local/tomcat

7、添加用户并设置属主属组
useradd -s /sbin/nologin tomcat
chown tomcat:tomcat /usr/local/tomcat -R

8、新建服务文件
vim /etc/systemd/system/tomcat.service
[Unit]
Description=Tomcat
#After=syslog.target network.target remote-fs.target nss-lookup.target
After=syslog.target network.target
​
[Service]
Type=forking
ExecStart=/usr/local/tomcat/bin/startup.sh
ExecStop=/usr/local/tomcat/bin/shutdown.sh
RestartSec=3
PrivateTmp=true
User=tomcat
Group=tomcat
​
[Install]
WantedBy=multi-user.target

9、开启,查看是否成功启动

systemctl start tomcat
netstat -ntap |grep 8080

10、切换至webapp下,新建test目录
cd /usr/local/tomcat/webapps/
mkdir test

11、建立动态页面文件
vim test/index.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<html>
  <head>
     <title>JSP test1 page </title>
  </head>
  <body>
     <% out.println("动态页面1,http://www.test1.com");%>
  </body>
</html>
​
11、修改主配置文件
vim /usr/local/tomcat/conf/server.xml
删除原来的站点模块
添加
<Host name="localhost" appBase="webapps"
            unpackWARs="true" autoDeploy="true" xmlValidation="false"
            xmlNamespaceAware="false">
                <Context docBase="/usr/local/tomcat/webapps/test"
                path="" reloadable="true" />
      </Host>

12、重启服务
systemctl restart tomcat.service 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2、部署第二台Tomcat

 

1、准备安装包
root@localhost opt]# ls
apache-tomcat-9.0.16.tar.gz  jdk-8u201-linux-x64.rpm

2、安装jdk

rpm -ivh jdk-8u201-linux-x64.rpm 

3、修改环境配置文件
vim /etc/profile
export JAVA_HOME=/usr/java/jdk1.8.0_201-amd64
export CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar
export PATH=$JAVA_HOME/bin:$PATH

4、刷新配置文件
source /etc/profile

5、切换至/opt下,解压tomcat包
cd /opt
tar -zxf apache-tomcat-9.0.16.tar.gz 

6、将解压后的包拷贝至/usr/local/下并重命名
cp -r apache-tomcat-9.0.16 /usr/local/tomcat

7、将解压后的包拷贝至/usr/local/下并重命名
useradd -s /sbin/nologin tomcat
chown tomcat:tomcat /usr/local/tomcat -R

8、新建服务文件
vim /etc/systemd/system/tomcat.service
[Unit]
Description=Tomcat
#After=syslog.target network.target remote-fs.target nss-lookup.target
After=syslog.target network.target
​
[Service]
Type=forking
ExecStart=/usr/local/tomcat/bin/startup.sh
ExecStop=/usr/local/tomcat/bin/shutdown.sh
RestartSec=3
PrivateTmp=true
User=tomcat
Group=tomcat
​
[Install]
WantedBy=multi-user.target

9、开启,查看是否成功启动

systemctl start tomcat
netstat -ntap |grep 8080



10、切换至webapp下,新建test目录
cd /usr/local/tomcat/webapps/
mkdir test

11、建立动态页面文件
vim test/index.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<html>
  <head>
     <title>JSP test2 page </title>
  </head>
  <body>
     <% out.println("动态页面1,http://www.test2.com");%>
  </body>
</html>
​
11、修改主配置文件
vim /usr/local/tomcat/conf/server.xml
删除原来的站点模块
添加
<Host name="localhost" appBase="webapps"
            unpackWARs="true" autoDeploy="true" xmlValidation="false"
            xmlNamespaceAware="false">
                <Context docBase="/usr/local/tomcat/webapps/test"
                path="" reloadable="true" />
      </Host>

12、重启服务
systemctl restart tomcat.service 


 

 

 

 

 

 

 

 

 

 

 

 

 

 3、nginx配置

1. #切换至/usr/local/nginx/html/目录下
cd /usr/local/nginx/html/
​
2. #创建test文件夹,并在里面创建静态网页
mkdir test
cd test
vim test.html
this is static test web !
​
3. 拖一张图片至test下改名为1.jpg
 b.jpg
​
4. 配置主配置文件
vim /usr/local/nginx/conf/nginx.conf
​
#配置负载均衡服务器列表,weight参数表示权重,权重越高,被分配到的概率越大  
#gzip  on;  
    upstream tomcat_server {
                    server 192.168.222.10:8080 weight=1;
                    server 192.168.222.20:8080 weight=1;
                 
                    }
                    
                    
#动静分离
 location ~ .*\.jsp$ {
          proxy_pass http://tomcat_server;
          proxy_set_header HOST $host;
          proxy_set_header X-Real-IP $remote_addr;
          proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
     }
​
#静态图片正则
         location ~* .*\.(jpg|html|png|gif)$ {
         root /usr/local/nginx/html/test;
     }
​
​
         location / {
            root   html;
            index  index.html index.htm;
     }
​
​
​

 

 

 

 

 

 

 

 

 


http://www.niftyadmin.cn/n/1070066.html

相关文章

LVS负载均衡的概念,及负载均衡工作模式NAT的部署

目录 一、群集的概念 1、群集的定义 2、群集的问题 3、群集的分类 4、负载调度工作模式 5、LVS负载调度算法 6、ipvsadm工具 二、负载均衡工作模式NAT的部署 1、环境配置 2、部署nfs服务器 3、配置节点服务器 4、配置负载调度器 5、验证效果 一、群集的概念 1、群…

异步下载

初步异步下载 url定义&#xff1a;在WWW上&#xff0c;每一信息资源都有统一的且在网上唯一的地址&#xff0c;该地址就叫URL(UniformResourceLocator&#xff0c;统一资源定位符)&#xff0c;它是WWW的统一资源定位标志&#xff0c;就是指网络地址。 /* http://(客户端与服务端…

LVS负载均衡模式的DR模式

目录 一、DR模式的概念 1、DR模式的工作原理 2、DR模式中的名词解释 3、NAT模式和DR模式的区别 二、部署DR模式 1、环境配置 2、配置nfs服务器 3、配置web1服务器 4、配置web2服务器 5、配置负载调度器 6、测试效果 一、DR模式的概念 1、DR模式的工作原理 &#x…

黑马程序员-结构

struct 在实际问题中&#xff0c;一组数据往往具有不同的数据类型。例如&#xff0c; 在学生登记表中&#xff0c;姓名应为字符型&#xff1b;学号可为整型或字符型&#xff1b; 年龄应为整型&#xff1b;性别应为字符型&#xff1b;成绩可为整型或实型。 显然不能用一个数组来…

python中函数作用域

1、作用域如果一个变量在def内赋值&#xff0c;他被定位在这个函数内如果一个变量在一个嵌套的def中赋值&#xff0c;对于嵌套的函数来说&#xff0c;它非本地的如果在def之外赋值&#xff0c;他就是整个文件 2、在交互式模式下&#xff0c;其实是在一个名为__main__的模板内。…

带验证码登录

随机生成验证码ValidateCode.ashx <% WebHandler Language"C#" Class"ValidateCode" %>using System; using System.Web; using System.Drawing; using System.Web.SessionState; //一般处理程序中使用session&#xff0c;必须实现一个接口 public c…

mysql的基本管理操作

目录 一、mysql的概念 1、库和表 2、常用数据类型 二、数据库的查看操作 1、查看当前服务器中的数据库 2、查看数据库中包含的表 3、查看表的结构 三、mysql的基础管理命令 1、创建新的数据库 2、创建新的表 3、删除指定的数据库 4、删除指定的数据表 5、表中插入…

矩阵的理解——转载

这是很早以前已经看过的&#xff0c;最近无意中又把保存的文章翻出来时&#xff0c;想起很多朋友问过矩阵&#xff0c;虽对矩阵似懂非懂&#xff0c;但却很想弄懂它&#xff0c;希望这几篇文章能帮你一下&#xff0c;故转之&#xff1a;&#xff08;一&#xff09;前不久chensh…