nginx拦截对静态资源的直接访问但是不影响应用

nginx拦截对静态资源的直接访问但是不影响应用,第1张

Nginx是一款轻量级的、高性能的Web服务器软件。在使用过程中,我们通常会用Nginx来拦截对某些静态资源(例如、视频等)的直接访问,同时确保对于特定应用的访问不受影响。
具体实现过程如下:
1 在Nginx的配置文件中加入以下内容:
```
location ~ \(gif|jpg|jpeg|png|bmp|swf|flv|mp4|svg|pdf|doc|docx|xls)\$ {
root /path/to/static/files;
access_log off;
expires 30d;
}
```
以上配置用于匹配所有的静态文件类型,并将请求定向到相应的资源目录下,其中的`/path/to/static/files`需要替换为实际的静态资源目录路径。`access_log off`的配置用于关闭Nginx日志文件对于该静态资源的访问日志输出,`expires 30d`的配置则用于指定该静态资源访问的缓存过期时间。
2 在Nginx的配置文件中加入以下内容:
```
location / {
proxy_pass >这里做了些基准测试表明nginx打败了其它的轻量级的web服务器和代理服务器,同样也赢了相对不是那么轻量级的产品。
有人说这些基准测试是不准确的,因为在这样那样的环境下,做的比较不一致。我倾向同意基准测试只是告诉了我们其中一部分情况,你能做的是消除偏见(有人见过所有人都同意一个基准测试是公平的吗?我是没见过。)
不管怎样,这篇文章不是做基准测试来让人们争论(如果你喜欢,可以在Google上找到那样的文章),相反,下面的引述来自人们在现实世界中使用Nginx,在真实的负载下,服务于真正的应用和网站。
引述
我们投资的一些公司把web平台切换到Nginx后,可以显著的解决扩展问题。Nginx明显有效的实现了今天互联网上最大网站数量的增长。
– Thomas Gieselmann, BV Capital

对今天运行网站的所有人的建议是,想打破性能限制就研究下能否使用Nginx。CloudFlare去年在一个相对较小的基础设施上已经扩展到可以处理每
月超过150亿的浏览量,很大程度上是因为Nginx的扩展性。我的经验表明切换到Nginx可以最大限度的利用现代的 *** 作系统和现有的硬件资源。
– Matthew Prince, CloudFlare的联合创始人和CEO
Apache和Nginx都有能力提供每秒钟庞大的请求服务,但是随着并发数量的增加,Apache的性能开始下降,然而Nginx的性能几乎不会下降。
这里最好的一点是:因为Nginx是基于事件的,它不用为每个请求产生新的进程或线程,所以它的内存使用很低。在我的基准测试中,它的内存使用坐落在25M,Apache使用得更多。
– WebFaction

对Nginx v0522 and Apache
v228我用ab(Apache的基准测试工具)跑了一个简单的测试。在测试过程中,我用vmstat和top检测系统。结果表明在提供静态内容
时,Nginx做得比Apache好。两个服务器都在并发数100时表现最佳。Apache使用4个工作进程(线程模式),30%的CPU和17MB的内
存,每秒钟处理6,500次请求。Nginx使用一个工作进程,15%的CPU,1MB内存,每秒钟处理11,500次请求。
– Linux Journal
Apache好比是微软Word,它有100万个选项,但是你只需要其中6个。Nginx就处理那6项任务,但处理其中5项任务时速度比Apache快50倍。
– Chris Lea
我现在使用Nginx在单一服务器上处理每天超过数千万(也就是每秒钟几百次)的反向代理>

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10861294.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-11
下一篇 2023-05-11

发表评论

登录后才能评论

评论列表(0条)

保存