Nginx 实现动静分离
Nginx是一款很强大的前端HTTP服务器,具有很优秀的并发性,在生产环境中搭配其他后端服务器使用,代理转发http请求给其他的后端服务器,同时具有高效的静态处理能力,可以用于均衡静态处理能力不是很高效的后端服务器的负载压力;
在典型的部署JavaWeb应用的时候,常常会用Nginx+Tomcat/Jetty/Jboss的组合,nginx来作为前端服务器抗并发(nginx比apache httpd的并发负载更加强大,而且配置方便),Tomcat/Jetty/Jboss作为Servlet容器,他们在处理静态文件效率上,远不如 nginx;
一般由nginx处理并发的http请求,如果该请求返回的响应是静态文件(html,htm,css,js,图片等),则直接由nginx处理,如果是动态文件(jsp,jspx,do,wsdl)等,则将该请求转发给Servlet容器Tomcat、Jetty等进行处理;
以Nginx+Tomcat实现动静分离为例,以下是一个简单的配置步骤:
示例说明:
nginx根目录为/nginx,端口为80,tomcat根目录为/tomcat,端口为8080;
nginx代理的请求域名"www.assad.site";
绑定的Tomcat的web app根目录为/tomcat/webapps/testapp;
Tomcat和nginx位于同一个服务器上;
1)Nginx配置
vim 修改 /nginx/conf/nginx.conf,
引入所有vhost的配置信息,类似如下;
1
http{
2
......
3
include vhost/*.conf;
4