nginx静态资源服务器(一)
nginx静态资源服务器(一)
之前项目所有静态文件都和项目捆绑在一起的,存放在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 即可看到结果,是不是很简单啊!!!