最近一直在用nginx来做静态资源的缓存,这是在网上查找了一下资料发现tomcat处理图片的能力相对于nginx稍显较弱。一般来说tomcat只能够处理300-500个请求但是超过500个请求之后jvm就会抛出异常导致tomcat无法正常运行,而nginx可以处理到30000-50000个请求所以我希望当请求控制层或者编译jsp这些就交由tomcat处理,而网站的静态资源则交由nginx处理。我把我的nginx配置发布出来分享给大家,由于是初学如果有更好的配置希望大家不灵赐教。
#运行用户
#user Techology-04;
#启动进程,通常设置成和cpu的数量相等
worker_processes 1;
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;
events {
worker_connections 1024;#单个worker process进程的最大并发链接数
}
#设定http服务器,利用它的反向代理功能提供负载均衡支持
http {
#设定mime类型,类型由mime.type文件定义
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;
#sendfile 指令指定 nginx 是否调用 sendfile 函数(zero copy 方式)来输出文件,对于普通应用,
#必须设为 on,如果用来进行下载等应用磁盘IO重负载应用,可设置为 off,以平衡磁盘与网络I/O处理速度,降低系统的uptime.
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
#开启gzip
gzip on;
gzip_disable "MSIE [1-6]\.(?!.*SV1)";
#设置请求缓冲
client_header_buffer_size 1k;
large_client_header_buffers 4 4k;
#设定负载均衡的服务器列表
upstream localhost{
server 10.0.0.34:8810 weight=10;#这里指定代理的服务器的url
#ip_hash;
}
server {
#定义端口80为坚挺端口
listen 80;
#server_name是使用指定真实服务器名
server_name 10.0.0.34;
#设定本虚拟主机的访问日志
access_log logs/rh.log;
if ($request_uri = '/') {
rewrite . /index.do break;#这里重定向至index.do
}
#location 用于定位资源
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ {
expires 7d;
#里面配置了root这时表示当匹配这个请求的路径时,将会在这个文件夹内寻找相应的文件,这里对我们之后的静态文
#件伺服很有用
root F:/data/photos;
proxy_store on;
proxy_store_access user:rw group:rw all:rw;
proxy_temp_path F:/data/photos;
include proxy.conf;
if ( !-e $request_filename) { #正则表达式去判断匹配缓存文件是否存在,不存在则访问服务器
proxy_pass http://localhost;
}
}
location ~ .*\.(js|css|html)$ {
expires 7d;
#里面配置了root这时表示当匹配这个请求的路径时,将会在这个文件夹内寻找相应的文件,这里对我们之后的静态文
#件伺服很有用
root F:/data/cache;
proxy_store on;
proxy_store_access user:rw group:rw all:rw;
proxy_temp_path F:/data/cache;
include proxy.conf;
if ( !-e $request_filename) { #正则表达式去判断匹配缓存文件是否存在,不存在则访问服务器
proxy_pass http://localhost;
}
}
location ~ .*\.(jsp|do)$ {
proxy_pass http://localhost;#这里和upstream localhost的配置一样的
}
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
分享到:
相关推荐
第一步:添加nginx.conf的http级别的缓存配置 第二步:在访问静态文件的location上添加缓存 第三步:在proxy_pass跳转的locatio
nginx反向代理、负载均衡、缓存静态资源、URL重定向、读写分离.zip
nginx配置文件nginx.conf ,主要标记了nginx 的负载配置upstream,静态资源缓存,是否开启压缩
nginx代理做好了,缓存也配置好了,但是发现css、js、jpg这些静态文件统统都cached成功。但是偏偏页面文件依旧到源服务器取
ngx_slowfs_cache 是 nginx 模块,允许缓存静态文件(使用 root 指令管理)。 这使得能够为存储在慢文件系统上的文件创建快速缓存。当缓存放置在与原点相同的速度磁盘上时,使用此模块没有意义。配置示例:http { ...
主要介绍了使用nginx缓存服务器上的静态文件,文中给大家提到了nginx缓存的优点及设置方法,通过实例相结合的形式给大家介绍的非常详细,需要的朋友可以参考下
Nginx搭建图片服务器(静态资源缓存服务器).zip
本篇文章主要介绍了如何在 nginx 中缓存静态文件配置,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
03.Nginx提供静态资源WEB服务 04.Nginx提供代理服务 05.Nginx提供负载均衡 06.Nginx提供ProxyCache缓存服务 07.Nginx Rewrite跳转规则与实践 08.Nginx构建Https加密传输网站(基于IOS苹果要求) 09.Nginx构建动态网站...
Nginx在反向代理站点的时候,通常会将一些文件进行缓存,特别是静态文件。缓存的部分存储在文件中,每个缓存文件包括“文件头”+“HTTP返回包头”+“HTTP返回包体”。如果二次请求命中了该缓存文件,则Nginx会直接将...
主要介绍了基于nginx设置浏览器协商缓存过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
Nginx是一款高性能的Web服务器软件,它的发展已经走过了近20年的历程。...掌握Nginx不仅能够提高Web应用程序的...4. Nginx缓存机制:理解Nginx的缓存原理,配置缓存策略,实现浏览器和服务器端缓存,提高Web应用程序的性能。
浏览器缓存是为了提高加载速度,因此我们可以通过Nginx对静态文件进行缓存。 location ~ ^/(images|javascript|js|css|flash|media|static)/ { #过期30天 expires 30d; } 定义错误提示页面 error_page 500 502 ...
主要介绍了Nginx服务器上搭建图片缓存服务的基本配置解析,分别介绍了通过proxy_store模块和proxy_cache模块两种方式的配置,需要的朋友可以参考下
Nginx缓存nginx有两种缓存机制:fastcgi_cache和proxy_cache下面我们来说说这两种缓存机制的区别吧proxy_cache作用是缓存后端服务器的内容,可能是任何内容,包括静态的和动态的fastcgi_cache作用是缓存fastcgi生成的...
简单介绍Nginx,实现负载均衡的配置和使用缓存存储静态资源文件,并可以通过purge模块删除缓存
主要介绍了Nginx设置静态页面压缩和缓存过期时间的方法,也是服务器架设后的必备设置,需要的朋友可以参考下