之前项目所有静态文件都和项目捆绑在一起的,存放在webapp下面,这样虽然在获取的时候很方便,但是web项目现在越来越大,静态资源文件也越来越多,导致服务器的性能也越来越低了,特别是当获取大量图片的时候,直线下降。
出现问题就要解决,想到用Nginx去搭建静态服务器是个不错的选择,那么就开始吧!
第一步:
去Nginx官网下载Nginx,并且安装好,当然你也可以下载免安装包。
第二步:
启动Nginx, 知道安装Nginx目录,我这里是在:D:\nginx,然后双击nginx.exe即可。如果想关闭,则在当前目录下执行命令nginx -s quit 即可。
第三步:重点来了,重点来了,重点来了!!!
找到Nginx目录下的conf文件夹(D:\nginx\conf),修改nginx.conf文件,以下是我的修改
#user nobody; worker_processes 1;#推荐worker数为cpu核数,避免cpu不必要的上下文切换 events { #表示每个worker进程所能建立连接的最大值 #一个nginx最大的连接数max=worker_connections*worker_processes; #对于http请求本地资源最大并发数量为max #如果http作为反向代理,最大并发数为max/2。因为每个并发会建立与客户端的连接和与后端服务的连接,会占用两个连接。 worker_connections 1024; } 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 logs/access.log main; sendfile on; keepalive_timeout 65; server { #监听80端口 listen 80; server_name localhost; #charset koi8-r; access_log logs/host.access.log main; location / { root html; index index.html index.htm; } # serve static files(css|js|image..) # #这个地方是重点!!! #所有静态文件开头的请求,都会被重新指向 location ~ ^/(images|javascript|js|css|flash|media|static)/ { #指向资源所在的位置,这里要特别注意的是,如果请求的是/images ,则C:\image目录下面应该有个对应的C:\image\images目录 root C:\image; access_log on; expires 30d; } #error_page 404 /404.html; # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } } }
其中要注意点的地方是:
#所有静态文件开头的请求,都会被重新指向 location ~ ^/(images|javascript|js|css|flash|media|static)/
#指向资源所在的位置,这里要特别注意的是,如果请求的是/images ,则C:\image目录下面应该有个对应的C:\image\images目录,这个地方尤其重要,很容易就错误而且混淆。
root C:\image;
第四步:
我们可以在C:\image\images目录里面放入一张照片,123.jpg,然后打开浏览器输入http://localhost/images/123.jpg 即可看到结果,是不是很简单啊!!!