centos nginx和tomcat

关于安装我就不过多的赘序,主要的还是思想,搞清楚逻辑可能一下子就能做到自己想要的效果,所以查看别人的文档的时候,首先自己想清楚想要做到什么样子、

关于nginx和tomcat的动静分离,因为我并不是搞java的,所以理解上根本不是那么一回事,不可避免的在思想上走了很多的弯路,其实很简单,动静分离主要是看动在哪里,静在哪里,我们整合nginx和tomcat主要的配置还是在nginx上,只要tomcat是可以访问的,nginx也是可以访问的,就可以在nginx.conf上将其整合,参数对照可知:


#user nobody;
worker_processes 1;

events {
  worker_connections 1024;
}

http {
  include mime.types;
  default_type application/octet-stream;

  sendfile on;

  keepalive_timeout 65;

###<这里是重定向访问的服务,通过nginx的访问,直接获取tomcat的内容

  upstream test{
    server 120.78.207.226:8080;
  }

###>

  server {
    listen 80;
    server_name localhost;

    #动态文件处理

###<这里是进行加载tomcat的设置,tomcat支持nginx配置这两处就行

    #动态加载 这是tomcatde location

    location / {
      proxy_next_upstream http_502 http_504 error timeout invalid_header;
      proxy_pass http://test;
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header Host $host;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header X-Forwarded-Proto $scheme;
    }
    #静态文件处理 这是nginx的location
    location ~ .*\.(htm|html|gif|jpg|jpeg|png|bmp|swf|ioc|rar|zip|txt|flv|mid|doc|ppt|pdf|xls|mp3|wma)$
    {
      # root /java/tomcat7/webapps/ROOT/projeck;
      expires 30d;
    }
    #静态文件处理 这是nginx的location

    location ~ .*\.(js|css)?$
    {
       root /java/tomcat7/webapps/ROOT/projeck;
      expires 1h;
    }

###>

    location = /50x.html {
      root html;
    }

  }

}

静态文件加载目录定义在这里可以进行访问得到,但是动态文件目录放在这里是没有意义的,直接不能解析,所以动态文件的加载目录是在tomcat的server.xml里,只需要增加一行代码放在</host>标签前面

<Context path="" docBase="/java/tomcat7/webapps/ROOT/projeck" reloadable="true" />

我这里是将动态静态都放在同一个文件目录下面,但是它们工作的原理还是nginx加载静态的,tomcat加载动态的,你可以进行测试,将这两个文件的其中一个的配置路径修改到其他目录,肯定访问的文件缺少修改后的内容。看了一堆的文档然后理一堆的代码远不如一开始就明明白白,纯个人理解,仅供参考

猜你喜欢

转载自www.cnblogs.com/zengzuxu/p/9050047.html