nginx 处理静态
tomcat 处理动态
合并为动静分离 (前后端分离)
Tomcat 重要目录
bin: 存放启动和关闭 Tomcat 脚本
conf: 存放 Tomcat 不同的配置文件
doc: 存放 Tomcat 文档
lib/japser/common: 存放 Tomcat 运行需要的库文件
logs: 存放 Tomcat 执行时的 LOG 文件
src: 存放 Tomcat 的源代码
webapps:Tomcat 的主要 Web 发布目录
实验前置知识点:
Nginx 静态处理优势
Nginx 处理静态页面的效率远高于 Tomcat 的处理能力
如果 Tomcat 的请求量为 1000 次, 则 Nginx 的请求量为 6000 次
Tomcat 每秒的吞吐量为 0 6M,Nginx 的每秒吞吐量为 3.6M
Nginx 处理静态资源的能力是 Tomcat 处理的 6 倍, 优势可见一斑
动静分离原理: 服务端接收来自客户端的请求中, 既有静态资源也有动态资源
环境准备:
- nginx:192.168.18.147----CentOS 7-1
- Tomcat 1:192.168.18.128----CentOS 7-2
- Tomcat 2:129.168.18.148----CentOS 7-3
客户端: 192.168.18.129----Win 7
Tomcat 1 服务器 CentOS 7-2 的操作:
- [[email protected] ~]# hostnamectl set-hostname tomcat1
- [[email protected] ~]# su
- [[email protected] ~]# systemctl stop firewalld.service
- [[email protected] ~]# setenforce 0
- [[email protected] ~]# mkdir /aaa
- [[email protected] ~]# mount.cifs //192.168.10.189/rpm /aaa
- Password for [email protected]//192.168.10.189/rpm:
- [[email protected] ~]# cd /aaa/tomcat/
- [[email protected] tomcat]# ls
- apache-tomcat-7.0.54.tar.gz jdk-8u91-Linux-x64.tar.gz
- apache-tomcat-8.5.16.tar.gz nginx-1.12.0.tar.gz
- jdk-7u65-Linux-x64.gz nginx-1.6.0.tar.gz
- [[email protected] tomcat]# tar zxvf jdk-8u91-Linux-x64.tar.gz -C /usr/local/
- # 设置环境变量:
- [[email protected] tomcat]# VIM /etc/profile
- # 按大写字母 G 到末行, 按小写字母 o 在下行插入以下内容:
- export JAVA_HOME=/usr/local/jdk1.8.0_91
- export JRE_HOME=${
- JAVA_HOME
- }/jre
- export CLASSPATH=.:${
- JAVA_HOME
- }/lib:${
- JRE_HOME
- }/lib
- export PATH=${
- JAVA_HOME
- }/bin:$PATH
- # 修改完成后, 按 Esc 退出插入模式, 输入: wq 保存退出
- [[email protected] tomcat]# source /etc/profile
- [[email protected] tomcat]# ls
- apache-tomcat-7.0.54.tar.gz jdk-8u91-Linux-x64.tar.gz
- apache-tomcat-8.5.16.tar.gz nginx-1.12.0.tar.gz
- jdk-7u65-Linux-x64.gz nginx-1.6.0.tar.gz
- [[email protected] tomcat]# tar zxvf apache-tomcat-8.5.16.tar.gz -C /usr/local/
- [[email protected] tomcat]# cd /usr/local/
- [[email protected] local]# ls
- apache-tomcat-8.5.16 etc include lib libexec share
- bin games jdk1.8.0_91 lib64 sbin src
- [[email protected] local]# mv apache-tomcat-8.5.16/ tomcat
- [[email protected] local]# ls
- bin games jdk1.8.0_91 lib64 sbin src
- etc include lib libexec share tomcat
- [[email protected] local]# ln -s /usr/local/tomcat/bin/startup.sh /usr/local/bin/
- [[email protected] local]# ln -s /usr/local/tomcat/bin/shutdown..sh /usr/local/bin/
- [[email protected] local]# mkdir -pv /Web/webapp1
mkdir: 已创建目录 "/web"
mkdir: 已创建目录 "/web/webapp1"
- [[email protected] local]# cd /Web/webapp1/
- [[email protected] webapp1]# VIM index.jsp
- <%@ page language="java" import="java.until.*" pageEncoding="UTF-8"%>
- <html>
- <head>
- <title>JSP test1 page</title>
- </head>
- <body>
- <% out.println("Welcome ACCP Web");%>
- </body>
- </HTML>
- # 添加完成后输入: wq 保存退出
- [[email protected] webapp1]# VIM /usr/local/tomcat/conf/server.xml
- # 输入 / Host 查找到以下内容
- <Host name="localhost" appBase="webapps"
- unpackWARs="true" autoDeploy="true">
- # 在此行下插入, 添加站点目录
- <Context docBase="/web/webapp1" path=""reloadable="false">
- </Context>
- # 添加完成后输入: wq 保存退出
- [[email protected] webapp1]# startup.sh
- Using CATALINA_BASE: /usr/local/tomcat
- Using CATALINA_HOME: /usr/local/tomcat
- Using CATALINA_TMPDIR: /usr/local/tomcat/temp
- Using JRE_HOME: /usr/local/jdk1.8.0_91/jre
- Using CLASSPATH: /usr/local/tomcat/bin/Bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.ja
- Tomcat started.
到宿主机中的浏览器输入: 192.168.18.128:8080 可以看到: Welcome KGC Web
Tomcat 2 服务器 CentOS 7-4 的操作:
- [[email protected] ~]# hostnamectl set-hostname tomcat2
- [[email protected] ~]# su
- [[email protected] ~]# systemctl stop firewalld.service
- [[email protected] ~]# setenforce 0
- [[email protected] ~]# mkdir /aaa
- [[email protected] ~]# mount.cifs //192.168.10.189/rpm /aaa
- Password for [email protected]//192.168.10.189/rpm:
- [[email protected] ~]# cd /aaa/tomcat/
- [[email protected] tomcat]# ls
- apache-tomcat-7.0.54.tar.gz jdk-8u91-Linux-x64.tar.gz
- apache-tomcat-8.5.16.tar.gz nginx-1.12.0.tar.gz
- jdk-7u65-Linux-x64.gz nginx-1.6.0.tar.gz
- [[email protected] tomcat]# tar zxvf jdk-8u91-Linux-x64.tar.gz -C /usr/local/
- # 设置环境变量:
- [[email protected] tomcat]# VIM /etc/profile
- # 按大写字母 G 到末行, 按小写字母 o 在下行插入以下内容:
- export JAVA_HOME=/usr/local/jdk1.8.0_91
- export JRE_HOME=${
- JAVA_HOME
- }/jre
- export CLASSPATH=.:${
- JAVA_HOME
- }/lib:${
- JRE_HOME
- }/lib
- export PATH=${
- JAVA_HOME
- }/bin:$PATH
- # 修改完成后, 按 Esc 退出插入模式, 输入: wq 保存退出
- [[email protected] tomcat]# source /etc/profile
- [[email protected] tomcat]# ls
- apache-tomcat-7.0.54.tar.gz jdk-8u91-Linux-x64.tar.gz
- apache-tomcat-8.5.16.tar.gz nginx-1.12.0.tar.gz
- jdk-7u65-Linux-x64.gz nginx-1.6.0.tar.gz
- [[email protected] tomcat]# tar zxvf apache-tomcat-8.5.16.tar.gz -C /usr/local/
- [[email protected] tomcat]# cd /usr/local/
- [[email protected] local]# ls
- apache-tomcat-8.5.16 etc include lib libexec share
- bin games jdk1.8.0_91 lib64 sbin src
- [[email protected] local]# mv apache-tomcat-8.5.16/ tomcat
- [[email protected] local]# ls
- bin games jdk1.8.0_91 lib64 sbin src
- etc include lib libexec share tomcat
- [[email protected] local]# ln -s /usr/local/tomcat/bin/startup.sh /usr/local/bin/
- [[email protected] local]# ln -s /usr/local/tomcat/bin/shutdown..sh /usr/local/bin/
- [[email protected] local]# mkdir -pv /Web/webapp1
mkdir: 已创建目录 "/web"
mkdir: 已创建目录 "/web/webapp1"
- [[email protected] local]# cd /Web/webapp1/
- [[email protected] webapp1]# VIM index.jsp
- <%@ page language="java" import="java.until.*" pageEncoding="UTF-8"%>
- <HTML>
- <head>
- <title>JSP test1 page</title>
- </head>
- <body>
- <% out.println("Welcome KGC Web");%>
- </body>
- </HTML>
- # 添加完成后输入: wq 保存退出
- [[email protected] webapp1]# VIM /usr/local/tomcat/conf/server.xml
- # 输入 / Host 查找到以下内容
- <Host name="localhost" appBase="webapps"
- unpackWARs="true" autoDeploy="true">
- # 在此行下插入, 添加站点目录
- <Context docBase="/web/webapp1" path=""reloadable="false">
- </Context>
- # 添加完成后输入: wq 保存退出
- [[email protected] webapp1]# startup.sh
- Using CATALINA_BASE: /usr/local/tomcat
- Using CATALINA_HOME: /usr/local/tomcat
- Using CATALINA_TMPDIR: /usr/local/tomcat/temp
- Using JRE_HOME: /usr/local/jdk1.8.0_91/jre
- Using CLASSPATH: /usr/local/tomcat/bin/Bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.ja
- Tomcat started.
到宿主机中的浏览器输入: 192.168.18.148:8080 可以看到: Welcome ACCP Web
Nginx 服务器 CentOS 7-1 的操作:
- [[email protected] ~]# hostnamectl set-hostname nginx
- [[email protected] ~]# su
- [[email protected] ~]# yum install pcre-devel zlib-devel gcc gcc-c++ make -y
- [[email protected] ~]# mkdir /aaa
- [[email protected] ~]# mount.cifs //192.168.10.189/rpm /aaa
- Password for [email protected]//192.168.10.189/rpm:
- [[email protected] ~]# cd /aaa/tomcat/
- [[email protected] tomcat]# ls
- apache-tomcat-7.0.54.tar.gz jdk-8u91-Linux-x64.tar.gz
- apache-tomcat-8.5.16.tar.gz nginx-1.12.0.tar.gz
- jdk-7u65-Linux-x64.gz nginx-1.6.0.tar.gz
- [[email protected] tomcat]# tar zxvf nginx-1.12.0.tar.gz -C /usr/local/
- [[email protected] tomcat]# cd /usr/local/nginx-1.12.0/
- [[email protected] nginx-1.12.0]# ls
- auto CHANGES.ru configure HTML man src
- CHANGES conf contrib LICENSE README
- [[email protected] nginx-1.12.0]# useradd -M -s /sbin/nologin nginx
- [[email protected] nginx-1.12.0]# ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module --with-http_gzip_static_module --with-http_flv_module
- [[email protected] nginx-1.12.0]# make && make install
- [[email protected] nginx-1.12.0]# VIM /usr/local/nginx/conf/nginx.conf
- #gzip on; #在下行插入以下内容
- upstream tomcat_server {
- server 192.168.18.128:8080 weight=1;
- server 192.168.18.148:8080 weight=1;
- }
- location / {
- root HTML;
- index index.HTML index.htm; #在下行插入
- proxy_pass http://tomcat_server;
- }
- # 修改完成后按 Esc 退出插入模式, 输入: wq 保存退出
- [[email protected] nginx-1.12.0]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/
- [[email protected] nginx-1.12.0]# nginx -t
- nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
- nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
- [[email protected] nginx-1.12.0]# nginx
- [[email protected] nginx-1.12.0]# netstat -ntap | grep 80
- tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 8917/nginx: master
验证轮询机制:
1. 在宿主机中的浏览器输入: 192.168.18.147 可以看到: Welcome KGC Web
2. 再次刷新可以可到: Welcome ACCP Web
来源: http://www.bubuko.com/infodetail-3342629.html