nginx and tomcat integrated but how to serve static files
Francis Daly
francis at daoine.org
Fri Dec 7 16:01:28 UTC 2012
On Fri, Dec 07, 2012 at 04:38:20PM +0530, Irfan Khan wrote:
> There are some html static files and images in my application which I don't
> to be served by tomcat. again, I am trying to as much as performance boost
> for my app.
>
> I am tried to do some research but unable to get solutions.
nginx chooses how to handle a request based on the location{} blocks
you have defined.
Currently, you have: if it starts with /abc/, proxy to tomcat; otherwise,
serve from the filesystem.
So: which urls do you really want proxied to tomcat, and which do you
really want served from the filesystem?
If I guess that "url starts with /abc/ and ends in html" means "serve
from filesystem, not tomcat", then you could add one line:
> location /abc/ {
location ~ html$ {}
> proxy_pass http://localhost:8080;
> proxy_set_header X-Real-IP $remote_addr;
> proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
> proxy_set_header Host $http_host;
>
> }
and a request for /abc/a.html will look for the file
/usr/local/nginx/html/abc/a.html (or strictly: abc/a.html below whatever
you have configured "root" to be).
Best would be to make the non-tomcat things be in a different url prefix
to the tomcat things -- such as /abc/static, for example -- because then
you could just use prefix locations. That depends on how your application
is written, which may not be changeable.
f
--
Francis Daly francis at daoine.org
More information about the nginx
mailing list