关于安装我就不过多的赘序,主要的还是思想,搞清楚逻辑可能一下子就能做到自己想要的效果,所以查看别人的文档的时候,首先自己想清楚想要做到什么样子、
关于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加载动态的,你可以进行测试,将这两个文件的其中一个的配置路径修改到其他目录,肯定访问的文件缺少修改后的内容。看了一堆的文档然后理一堆的代码远不如一开始就明明白白,纯个人理解,仅供参考