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 服务器的基本原理和配置指南「运维操作实战篇」