nginx整合tomcat服务器

前题条件,系统中安装好nginx服务器和两个以上的tomcat服务器(tomcat1, tomcat2, ...)它们部署有相同的应用。

  1. 起动tomcat服务器,tomcat1和tomcat2,它们分别监听8080和9090端口。
  2. 配置nginx负载均衡服务器,打开nginx.conf文件。在http模块里增加
    upstream webapp {
    		server 127.0.0.1:8080 weight=1 max_fails=2 fail_timeout=30s;
    		server 127.0.0.1:9090 weight=1 max_fails=2 fail_timeout=30s;
    	}
    这里指明nginx跟哪些tomcat实例相连接。修改server模块的server_name属性,它必须和upstream名称一致。并且修改location / 的属性。
    server {
            listen       8013;
            server_name  webapp;
    
            location / {
                root   html;
                index  index.jsp index.html index.htm;
    			proxy_next_upstream http_502 http_504 error timeout invalid_header;
    			proxy_set_header Host $host;
    			proxy_set_header X-real-IP $remote_addr;
    			proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    			proxy_pass http://webapp;
    			expires -1;
            }
    }
    这样nginx已经与tomcat整合了。但是访问页面时样式、图片、JS等静态资源访问不了。再增加相应的静态资源location配置
    location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ {
    		   proxy_pass http://webapp;
               expires 30d;
            }
    		
    	    location ~ .*\.(js|css)?$ {
    		   proxy_pass http://webapp;
               expires 12h;
            }
    到这里所有设置已经完成,nginx与tomcat完美整合到一起。

猜你喜欢

转载自blog.csdn.net/cgs666/article/details/60479681