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 即可看到结果,是不是很简单啊!!!


猜你喜欢

转载自blog.csdn.net/lovelong8808/article/details/80268170