一直说nginx动静分离,一直没实践,今天拉着运维同事一起搞了下。
思路是同样的web应用,通过rsync同步到nginx的 目录下。然后nginx对静态文件做配置,静态文件直接在nginx上取。期间遇到问题,如果nginx上到文件没及时同步源目录,则用户无法访问,用了 error_page 404 502 @backend;解决问题,意思是如果在nginx找不到,交回给tomcat服务器。
简单配置如下:
location ~ /miniAdmin/.*\.(html|htm|gif|jpg|jpeg|bmp|png|ico|txt|js|css)$ { root C:/data/; expires 3d; error_page 404 502 @backend; } location @backend { proxy_pass http://backend; } location /miniAdmin/ { proxy_pass http://backend; }
目录的简单示意图:
nginx
data/mulu
tomcat
webapps/mulu