千家信息网

Tomcat+nginx群集和动静分离

发表于:2024-11-11 作者:千家信息网编辑
千家信息网最后更新 2024年11月11日,实验环境Nginx服务器(192.168.13.177)Tomcat1服务器(192.168.13.151)Tomcat2服务器 (192.168.13.178)client测试机一,负载均衡1,在T
千家信息网最后更新 2024年11月11日Tomcat+nginx群集和动静分离

实验环境

Nginx服务器(192.168.13.177)
Tomcat1服务器(192.168.13.151)
Tomcat2服务器 (192.168.13.178)
client测试机

一,负载均衡

1,在Tomcat1,Tomcat2上安装Tomcat服务

[root@tomcat1 ~]# systemctl stop firewalld.service  ##关闭防火墙[root@tomcat1 ~]# mkdir /abc[root@tomcat1 ~]# mount.cifs //192.168.100.3/LNMP-C7 /abc/[root@tomcat1 ~]# cd /abc/tomcat/[root@tomcat1 tomcat]# tar zxvf jdk-8u91-linux-x64.tar.gz -C /usr/local/  ##解压JDK[root@tomcat1 tomcat]# vim /etc/profile   ##配置环境变量##大G末行加入export JAVA_HOME=/usr/local/jdk1.8.0_91export JRE_HOME=${JAVA_HOME}/jreexport CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/libexport PATH=${JAVA_HOME}/bin:$PATH[root@tomcat1 tomcat]# source /etc/profile  ##刷新配置文件[root@tomcat1 tomcat]# tar zxvf apache-tomcat-8.5.16.tar.gz -C /usr/local/   ##解压[root@tomcat1 tomcat]# cd /usr/local/[root@tomcat1 local]# mv apache-tomcat-8.5.16/ tomcat[root@tomcat1 local]# ln -s /usr/local/tomcat/bin/startup.sh /usr/local/bin/  

将启动和关闭脚本便于系统识别

[root@tomcat1 local]# ln -s /usr/local/tomcat/bin/shutdown.sh /usr/local/bin/[root@tomcat1 local]# mkdir -p /web/webapp1  ##创建站点[root@tomcat1 local]# vim /web/webapp1/index.jsp   ##写入jsp网页内容##jsp网页内容<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>     JSP test1 page      <% out.println("Welcome KGC Web");%>    ##输出信息 [root@tomcat1 local]# vim /usr/local/tomcat/conf/server.xml  ##修改Tomcat配置文件                              ##添加站点信息                [root@tomcat1 ~]# startup.sh   ##启动服务## Tomcat上网页内容为accp其他配置一样

2,在Nginx服务器上安装Nginx

[root@nginx ~]# systemctl stop firewalld.service    ##关闭防火墙[root@nginx ~]# setenforce 0[root@nginx ~]# yum install pcre-devel zlib-devel gcc gcc-c++ make -y  ##安装环境必要组件[root@nginx ~]# mkdir /abc[root@nginx ~]# mount.cifs //192.168.100.3/LNMP-C7 /abc/   ##挂载Password for root@//192.168.100.3/LNMP-C7:  [root@nginx ~]# cd /abc/[root@nginx abc]# tar zxvf nginx-1.12.2.tar.gz -C /usr/local/  ##解压[root@nginx abc]# useradd -M -s /sbin/nologin nginx   ##创建系统用户[root@nginx abc]# cd /usr/local/nginx-1.12.2/[root@nginx nginx-1.12.2]# ./configure \   ##配置> --prefix=/usr/local/nginx \> --user=nginx \> --group=nginx \> --with-http_stub_status_module \> --with-http_gzip_static_module \> --with-http_flv_module [root@nginx nginx-1.12.2]# make && make install   ##编译安装 

3,修改Nginx配置文件

[root@nginx nginx-1.12.2]# vim /usr/local/nginx/conf/nginx.conf #keepalive_timeout  0;        keepalive_timeout  65;        #gzip  on;        upstream tomcat-server {                             #添加地址池                            server 192.168.13.151:8080 weight=1;                            server 192.168.13.178:8080 weight=1;                            }        server {                listen       80;.....省略location / {                        root   html;                        index  index.html index.htm;                        proxy_pass http://tomcat-server;         #添加代理,调用服务器地址池                }[root@nginx nginx-1.12.2]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/  ##便于系统识别[root@nginx nginx-1.12.2]# nginx   ##开启服务


二,动静分离

1,在Nginx上修改配置文件

[root@nginx nginx-1.12.2]# vim /etc/init.d/nginx  ##编写service启动脚本#!/bin/bash#chkconfig: - 99 20#description: Nginx Service Control ScriptPROG="/usr/local/nginx/sbin/nginx"PIDF="/usr/local/nginx/logs/nginx.pid"case "$1" in    start)        $PROG        ;;    stop)        kill -s QUIT $(cat $PIDF)        ;;    restart)        $0 stop        $0 start        ;;    reload)        kill -s HUP $(cat $PIDF)        ;;    *)                echo "Usage: $0 {start|stop|restart|reload}"                exit 1esacexit 0[root@nginx nginx-1.12.2]# chmod +x /etc/init.d/nginx [root@nginx nginx-1.12.2]# chkconfig --add nginx[root@nginx nginx-1.12.2]# vim /usr/local/nginx/conf/nginx.confserver {...省略...     location ~.*.jsp$ {       ##匹配jsp页面跳转代理服务器池         proxy_pass http://tomcat-server;         proxy_set_header Host $host;     }            location / {        root   html/test;   ##修改站点        index  index.html index.htm;        proxy_pass http://tomcat-server;     }[root@nginx nginx-1.12.2]# vim /usr/local/nginx/html/index.html   ##编写静态网页静态页面    

静态页面

这是个静态页面

[root@nginx nginx-1.12.2]# service nginx stop ##关闭开启服务[root@nginx nginx-1.12.2]# service nginx start

2,在Tomcat1,Tomcat2上创建jsp动态页面

[root@tomcat1 ~]# mkdir /usr/local/tomcat/webapps/test[root@tomcat1 ~]# vim /usr/local/tomcat/webapps/test/index.jsp<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><%@ page import="java.util.Date" %><%@ page import="java.text.SimpleDateFormat" %>   ##开头申明动态页面
动态页面1

在Tomcat2上修改为动态页面22

//访问静态http://192.168.13.177/  //访问动态  http://192.168.13.177/test/index.jspNginx处理静态图片,Tomcat处理动态页面1,在Tomcat1,Tomcat2上页面添加图片[root@tomcat1 ~]# vim /usr/local/tomcat/webapps/test/index.jsp    
动态页面

//添加页面图片 [root@tomcat01 local]# vim /usr/local/tomcat/conf/server.xml #在第149行下追加以下条目,[root@tomcat1 test]# shutdown.sh ##关闭重启[root@tomcat1 test]# startup.sh

2,在Nginx上修改配置文件

[root@nginx nginx-1.12.2]# vim /usr/local/nginx/conf/nginx.conflocation ~.*\.(gif|jpg|jpeg|png|bmp|swf|css)$ {      root html/test;     expires 30d;}[root@nginx nginx-1.12.2]# mkdir /usr/local/nginx/html/test[root@nginx nginx-1.12.2]# cp /abc/11.jpg /usr/local/nginx/html/test/#重启服务

3,使用client测试

[root@nginx html]# service nginx restart

0