Linux—Nginx与tomcat动静分离
一.什么是动静分离?
1.动静分离是将网站的静态资源与后台应用分开部署,提高用户访问静态代码的速度,降低对后台应用的访问
2.静态资源部署在Nginx,将静态资源部署在Nginx上,后台项目部署到应用服务器上,根据一定规则静态资源的请求,全部去请求nginx服务器,达到动静分离的目标
二.优缺点:
优点:API接口服务化;前后端开发并行;减轻后端服务器的压力,提高静态资源访问速度
缺点:不利于网站SEO(搜索引擎优化);开发量变大;在业务高速发展时需要慎重考虑
三.Nginx与Tomcat实现动静分离具体步骤
1.由于Tomcat本身处理静态效率不高,还会带来资源消耗,因此使用动静分离,将静态请求交由Nginx处理,动态请求交由Tomcat处理
2.Nginx根据客户端请求的url来判断请求的是否是静态资源,如果请求的url包含jpg、png,则由Nginx处理;如果请求的url是.php或者.jsp等,则被认为是动态的,将转发tomcat处理。即Nginx通过url来区分请求的类型,并且转发给不同的服务端
四.实验环境
一台nginx服务器,一台tomcat服务器,一台测试机
五.具体实验步骤
1).配置Nginx服务器
1.安装相关环境包
yum install pcre-devel zlib-devel gcc gcc-c++ make -y
2.准备nginx软件包,并压缩到opt下
tar xzvf nginx-1.12.2.tar.gz -C /opt
3.创建用户
useradd -M -s /sbin/nologin nginx
4.配置,安装且编译
cd /opt/nginx-1.12.2/
./configure \
--prefix=/usr/local/nginx \
--user=nginx \
--group=nginx \
--with-http_stub_status_module
make && make install
5.为主程序nginx创建软链接
ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin
6.优化服务控制,service工具,启动脚本
vim /etc/init.d/nginx
#!/bin/bash
#chkconfig: -99 20
#description: Nginx Service Co