Linux运维web篇 nginx+tomcat实现动静分离和负载均衡

Posted 鹧鸪鹄

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux运维web篇 nginx+tomcat实现动静分离和负载均衡相关的知识,希望对你有一定的参考价值。

一、原理

nginx作为负载均衡器,Tomcat作为应用服务器 nginx处理静态内容 动态内容反向代理给tomcat处理 将动态内容和静态内容分开处理 减轻服务器的压力
架构图
在这里插入图片描述

二、部署服务

部署nginx

systemctl stop firewalld
setenforce 0
#安装所需开发包和编译环境、编译器
yum -y install pcre-devel zlib-devel openssl-devel gcc gcc-c++ make

#创建程序用户
useradd -M -s /sbin/nologin nginx

#解压安装包
cd /opt
tar zxvf nginx-1.12.0.tar.gz -C /opt/

#指定安装路径、指定用户名、组名、启用模块以支持统计状态
cd nginx-1.12.0/
./configure \\
--prefix=/usr/local/nginx \\
--user=nginx \\
--group=nginx \\
--with-file-aio \\									#启用文件修改支持
--with-http_stub_status_module \\					#启用状态统计
--with-http_gzip_static_module \\					#启用 gzip静态压缩
--with-http_flv_module \\							#启用 flv模块,提供对 flv 视频的伪流支持
--with-http_ssl_module								#启用 SSL模块,提供SSL加密功能
----------------------------------------------------------------------------------------------------------
./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-file-aio --with-http_stub_status_module --with-http_gzip_static_module --with-http_flv_module

#编译及安装
make && make install

#软链接便于系统识别nginx操作命令
ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/

#添加nginx系统服务
vim /lib/systemd/system/nginx.service
[Unit]
Description=nginx
After=network.target
[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStart=/usr/local/nginx/sbin/nginx
ExecrReload=/bin/kill -s HUP $MAINPID
ExecrStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target

#赋权及开启服务、开启开机自启
chmod 754 /lib/systemd/system/nginx.service
systemctl start nginx.service
systemctl enable nginx.service

在这里插入图片描述

部署tomcat(两台一致)

#!/bin/bash
#关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
setenforce 0

#安装JDK
cd /opt
rpm -qpl jdk-8u201-linux-x64.rpm 
rpm -ivh jdk-8u201-linux-x64.rpm 
java -version

#设置JDK环境变量
echo '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' > /etc/profile.d/java.sh

source /etc/profile

#安装启动Tomcat
cd /opt
tar zxvf apache-tomcat-9.0.16.tar.gz
mv apache-tomcat-9.0.16 /usr/local/tomcat

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

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

三 配置动静分离

tomcat 1配置

mkdir /usr/local/tomcat/webapps/lucien
vim /usr/local/tomcat/webapps/lucien/index.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<html>
<head>
<title>JSP test1 page</title>
</head>
<body>
<% out.println("x1");%>
</body>
</html>

vim /usr/local/tomcat/conf/server.xml
72行添加以下内容
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
	<Context docBase="/usr/local/tomcat/webapps/lucien" path="" reloadable="true">
	</Context>
</Host>

/usr/local/tomcat/bin/shutdown.sh 
/usr/local/tomcat/bin/startup.sh 

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

tomcat 2 和1配置一致

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

nginx配置

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
重启服务

测试

查看静态页面
在这里插入图片描述
在这里插入图片描述

以上是关于Linux运维web篇 nginx+tomcat实现动静分离和负载均衡的主要内容,如果未能解决你的问题,请参考以下文章

大型网站技术实践初级篇:借助Nginx搭建反向代理服务器

深入浅出学习透析 Nginx 服务器的基本原理和配置指南「运维操作实战篇」

Nginx+Tomca+Redis实现负载均衡资源分离session共享

Nginx目录文件列表显示

如何掌握并提高linux运维技能

运维Linux下Nginx安装及使用