随着Nginx高性能Web服务器大量被使用,目前Nginx最新稳定版为1.2.6,张宴兄在实际应用中大量使用Nginx,并分享Nginx高性能Web服务器知识,使得Nginx在国内也是飞速的发展。那今天咱们再来温习一下Nginx 动静分离知识,这里仅供参考。

一、实践环境:

系统版本:CentOS6.5 X86_64

Nginx版本:Nginx-1.9.9

Tomcat版本:Tomcat-7.0.55

IP地址:192.168.1.63

二、下载软件:

Nginx下载地址:wget http://nginx.org/download/nginx-1.9.9.tar.gz

JDK下载地址:wget http://download.oracle.com/otn/java/jdk/7u67-b01/jdk-7u67-linux-x64.rpm

Tomcat下载地址:http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase7-521261.html#jre-7u67-oth-JPR

三、安装nginx和tomcat(查看其它文档)

四、配置Tomcat

1、复制两个tomcat到/usr/local目录下,并重命名为tomcat1和tomcat2

# cp -a /usr/src/apache-tomcat-7.0.55/ /usr/local/tomcat1

# cp -a /usr/src/apache-tomcat-7.0.55/ /usr/local/tomcat2

2、两个tomcat的配置文件server.xml最后面的</Host>前面加上这一段:

# vim /usr/local/tomcat1/conf/server.xml

<Context path="/" docBase="/opt/www1"  reloadable="true" Context="true" />

# vim /usr/local/tomcat2/conf/server.xml

<Context path="/" docBase="/opt/www2"  reloadable="true" Context="true" />

3、修改第二个tomcat的端口

# vim /usr/local/tomcat2/conf/server.xml

修改三个地方:

(1)、Server port="8005" 修改成 Server port="8006"

(2)、Connector port="8080" 修改成 Connector port="8081"

(3)、Connector port="8009" 修改成 Connector port="8010"

4、创建目录和文件

# mkdir -p /opt/www1

# mkdir -p /opt/www2

# vim /opt/www1/index.jsp

<html>

<body>

<h1>TOMCAT_1 JSP Test Page </h1>

<%=new java.util.Date()%>

</body>

</html>

# vim /opt/www2/index.jsp

<html>

<body>

<h1>TOMCAT_2 JSP Test Page </h1>

<%=new java.util.Date()%>

</body>

</html>

5、启动两个tomcat

# /usr/local/tomcat1/bin/startup.sh

# /usr/local/tomcat2/bin/startup.sh

6、查看启动端口

# netstat -tnulp |grep java

7、打开网页查看

五、配置Nginx

---------------------------------------------------------------------------

upstream tomcat {

    server   192.168.1.63:8080;

   server   192.168.1.63:8081

}

server

  {

    listen       80;

    server_name  www.test1.com;

    index index.html index.htm;

   root  /home;          

    location /

    {

         proxy_next_upstream http_502 http_504 error timeout invalid_header;

         proxy_set_header Host  $host;

         proxy_set_header X-Real-IP $remote_addr;

         proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

         proxy_pass http://tomcat;

         expires      3d;

    }

    location ~ .*\.(html|htm|gif|jpg|jpeg|bmp|png|ico|txt|js|css)$

    {

    root /home;

   expires      3d;

    }

}

---------------------------------------------------------------------------

六、配置hosts文件

192.168.1.63  www.test1.com

七、网页测试效果

点击刷新会不断地轮询访问这两台tomcat的内容,生产服务器上两台tomcat的内容是一样的。这里为了方便测试,设置成不一样的内容。配置动静分离,其实就是加了下面几句话:

    location ~ .*\.(html|htm|gif|jpg|jpeg|bmp|png|ico|txt|js|css)$

    {

    root /abc;

   expires      3d;

    }

---------------------------------------------------------------------

八、测试动静分离效果

# mkdir -p /opt/www1/index.html

Tomcat1 OK!

# mkdir -p /opt/www2/index.html

Tomcat2 OK!

网页访问,会发现访问不了

下面把静态分离注释掉

  #  location ~ .*\.(html|htm|gif|jpg|jpeg|bmp|png|ico|txt|js|css)$

   # {

   # root /abc;

  #expires      3d;

   # }

并重启nginx,看下效果

# /usr/local/lnmp/nginx/sbin/nginx -s reload

说明TOMCAT动静分离配置成功!

九、测试Nginz静态文件

# vim /home/index.html

<hr color="green">

<h1>This is Nginx server static html! </h1>

网页访问,会发现如下效果!

...........................................................................