动静分离—Nginx+Tomcat

所谓的动静分离,就是将 Web 应用程序中静态和动态的内容分别放在不同的 Web 服务器上,有针对性的处理动态和静态内容,从而达到性能的提升。
由于Tomcat 在并发和静态资源处理的能力上较弱。动静分离就是其中一种方法,既然 Tomcat 处理静态资源的能力较弱,那就将静态资源的处理任务交给适合的软件,而让 Tomcat 专注于处理 JSP/Servlet 的请求。
对于静态资源处理的服务器软件,我们选择的是Nginx。它支持高并发,对静态资源处理的能力较强。
事实上,动静分离的方案很多,有人采用 Apache+Tomcat 的组合;也有人使用 Tomcat+Tomcat 的组合,不过两个 Tomcat 分别被放置于不同的主机,不同的域名。其中 Apache+Tomcat 的方案与 Nginx 的方案原理上是一样的,它们都是基于反向代理,相对于使用 Nginx 配置动静分离,Apache 的配置就显得略微复杂一些。

前提:已有Tomcat+JDK环境下的主域名服务器

设置子域名

子域名所指向的IP主机存放静态资源(图片/音乐/CSS/JS)

万网二级域名设置解析

安装Nginx

在子域名所指向的IP主机安装

  1. 安装nginx需要的环境,pcre(作用rewrite)、zlib(作用压缩)、ssl(https支持)

    yum install gcc
    yum -y install zlib
    yum –y install pcre
    yum –y install openssl  
    
  2. 下载nginx-1.*.tar.gz

    tar –zxvf nginx-1.9.9.tar.gz –C  ./(路径随意)
    cd nginx-1.9.9
    ./congigure --prefix=/usr/local/nginx(路径随意)
    make
    make install
    
  3. 启动Nginx

    Nginx部署目录:/usr/local/nginx-1.9.9/sbin
    重启

    /usr/local/nginx-1.7.8/sbin/nginx -s reload
    

    停止

     /usr/local/nginx-1.7.8/sbin/nginx -s stop
    
  4. 关闭防火墙,或者添加防火墙规则就可以测试了。

    service iptables stop
    

    或者编辑配置文件:

    vi /etc/sysconfig/iptables
    

    添加这样一条开放80端口的规则后保存:

    -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
    

    重启服务即可:

    service iptables restart
    

静态资源存放及修改

默认Nginx网站根目录为/usr/local/nginx/html

  1. 将静态资源放到Nginx/html目录下
  2. 将主域名服务器中JSP文件设计静态资源的URL相应改为子域名下的静态资源URL

结果

动静分离之前LoadTime:8.47s
动静分离—Nginx+Tomcat_第1张图片

动静分离之后LoadTime:1.62s

参考网址

Linux(CentOS)下,下载安装Nginx并配置
更改nginx网站根目录

你可能感兴趣的:(tomcat,nginx,服务器,子域名,动静分离)