如何configurationGlassfish + NGINX使用NGINX提供静态文件?

Glassfish v3 + Nginx设置的EC2 ubuntu托pipe我的Java Web应用程序。 此应用程序作为WAR文件部署到Glassfish。 NGINX目前将所有的请求都传递给了glasshfish应用服务器,包括静态图像,CSS等等。

server { listen 80; server_name whatever.com www.whatever.com; access_log /var/log/nginx/whatever.com.access.log; location / { proxy_pass http://127.0.0.1:8080/javapp/; proxy_pass_header Set-Cookie; proxy_pass_header X-Forwarded-For; proxy_pass_header Host; } 

}

我已经解决这个如下a)修改configuration文件如下

 server { listen 80; ## listen for ipv4 server_name www.whatever.com; ## change this to your own domain name root /home/ubuntu/www/public_html; ## Only requests to our Host are allowed ie nixcraft.in, images.nixcraft.in and www.nixcraft.in if ($host !~ ^(www.whatever.com)$ ) { return 444; } location ~* \.(jpg|jpeg|gif|css|png|js|ico)$ { access_log off; expires max; } location / { access_log off; proxy_pass http://localhost:8080; proxy_set_header X-Real-IP $remote_addr; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root /var/www/nginx-default; } } 

b)在Nginx的HTML根目录下(/ home / ubuntu / www / public_html)创build一个与你的web应用的上下文同名的子目录。 例如,如果您的webppurl是www.whatever.com/mycoolapp,请创build一个名为/ home / ubuntu / www / public_html / mycoolapp的目录

c)将war文件解压到这个文件夹。 摆脱WEB-INF文件夹

d)重新启动nginx。 要validation,停止您的Web应用程序,同时保持NGINX,并从您的Web应用程序访问图像或CSS。