nginx+tomcat下动静态分离

边听歌边代码 发布于 2016/11/30 20:49
阅读 611
收藏 1

系统:windows10

软件:nginx1.10.2 +tomcat7.2

nginx目录:C:\nginx

tomcat目录:C:\Tomcat7

项目目录:C:\Tomcat7\webapps

项目静态文件目录:C:\Tomcat7\webapps\card\static

如何配置才能正确静态分离,研究半天没有结果,望大神指教

#Nginx所用用户和组
#user  niumd niumd;

#工作的子进程数量(通常等于CPU数量或者2倍于CPU)
worker_processes  2;

#错误日志存放路径
#error_log  logs/error.log;
#error_log  logs/error.log  notice;
error_log  logs/error.log  info;

#指定pid存放文件
pid        logs/nginx.pid;

events {
        #使用网络IO模型linux建议epoll,FreeBSD建议采用kqueue
    #use epoll;
    
    #允许最大连接数
    worker_connections  2048;
}

http {
    include       mime.types;
    default_type  application/octet-stream;

        #定义日志格式
    #log_format  main  '$remote_addr - $remote_user [$time_local] $request '
    #                  '"$status" $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';

    #access_log  off;
    access_log  logs/access.log;

    client_header_timeout  3m;
    client_body_timeout    3m;
    send_timeout           3m;
 
    client_header_buffer_size    1k;
    large_client_header_buffers  4 4k;

    sendfile        on;
    tcp_nopush      on;
    tcp_nodelay     on;

    #keepalive_timeout  75 20;

    include    Gzip.conf;
       upstream localhost {
        #ip_hash
        #ip_hash;
      server localhost:8080;
     }
    
    server {
            listen       80;
            server_name  localhost;   
            
			
			location / {
            #jsp网站程序根目录,一般nginx与tomcat在同一个目录
            #root  C:\Tomcat7\webapps\card;
            index  index.html index.jsp index.html;
			proxy_connect_timeout   3;
            proxy_send_timeout      30;
            proxy_read_timeout      30;
			proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection "upgrade";
			proxy_set_header Host $host;
            proxy_pass http://localhost;
          }
        location ~ .*.jsp$ {
            index index.jsp;
            proxy_pass http://127.0.0.1:8080;   #来自jsp请求交给tomcat处理
            proxy_redirect off;
            proxy_set_header Host $host;    #后端的Web服务器可以通过X-Forwarded-For获取用户真实IP
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            client_max_body_size 10m;   #允许客户端请求的最大单文件字节数
            client_body_buffer_size 128k; #缓冲区代理缓冲用户端请求的最大字节数
            proxy_buffer_size 4k;       #设置代理服务器(nginx)保存用户头信息的缓冲区大小
            proxy_buffers 6 32k;        #proxy_buffers缓冲区,网页平均在32k以下的话,这样设置
            proxy_busy_buffers_size 64k;#高负荷下缓冲大小(proxy_buffers*2)
            proxy_temp_file_write_size 64k; #设定缓存文件夹大小,大于这个值,将从upstream服务器传
        }
		
        location ~ .*\.(gif|jpg|png|bmp|swf)$   #由nginx处理静态页面
        {
            expires 30d;   #使用expires缓存模块,缓存到客户端30天
			root   C:\Tomcat7\webapps\card;
			#proxy_pass http://127.0.0.1:80;
        }
        location ~ .*\.(jsp|js|css)?$
        {
            expires 1d;
			proxy_pass http://127.0.0.1:8080;
        }
            error_page  404         /404.html;   #错误页面
           
   }
}



加载中
2
Feng_Yu
Feng_Yu
root或者alias指过去就完了,不用拷贝两份
边听歌边代码
边听歌边代码
谢谢大神,忘了回复了
0
边听歌边代码
边听歌边代码
解决了:静态分离代码如下,然后将整个项目拷贝一份到nginx/html目录下,删除动态资源,只保留静态资源,反正我是这样处理的,为了保持静态资源路径一致性。
location ~ .*\.(gif|jpg|png|bmp|swf)$   #由nginx处理静态页面
        {
            expires 30d;   #使用expires缓存模块,缓存到客户端30天
			root   html;
        }



返回顶部
顶部