最近一直在用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 的缓存功能。下面详细介绍如何实现 Nginx 静态文件缓存的三个步骤。 ### 第一步:配置 HTTP 级别的缓存 在 `nginx.conf` 文件中,我们需要添加如下配置以...
- 配置防盗链策略,防止其他网站通过引用你的静态资源,增加服务器负担。可以使用`valid_referers`指令实现。 - 限制对敏感静态文件的访问,如`.htaccess`、`config.json`等,通过`deny all;`阻止所有访问。 6. *...
nginx反向代理、负载均衡、缓存静态资源、URL重定向、读写分离.zip
这个指令用于指定资源的过期时间,如果该时间早于当前时间,则表明该资源已经过期,nginx缓存服务器也不会对资源进行缓存。 当遇到nginx缓存不生效的情况时,可以采取以下两种解决方案: 方法一:修改源服务器web...
nginx配置文件nginx.conf ,主要标记了nginx 的负载配置upstream,静态资源缓存,是否开启压缩
Nginx配置http转https以及https访问http静态资源需要配置SSL证书、SSL会话缓存、rewrite规则、location块、add_header指令、proxy_pass指令等。通过正确的配置,Nginx可以提供安全、稳定、高性能的Web服务器服务。
这篇教程说明你应该怎样配置 nginx、设置 HTTP 头部过期时间,用 Cache-Control 中的 max-age 标记为静态文件(比如图片、 CSS 和 Javascript 文件)设置一个时间,这样用户的浏览器就会缓存这些文件。这样能节省...
### Nginx 伪静态与重定向:深入解析与应用实例 #### 1. 引言 在现代网站开发与维护中,面对网页目录结构变动、网页重命名、扩展名改变或是网站域名变更等场景,如何高效处理这些变化,确保用户体验不受影响,同时...
通过Nginx缓存静态资源(如HTML、图片、CSS、JS),可以降低对后端服务的请求频率,提高整体性能。 2. Nginx 静态缓存基本配置:Nginx可以通过`proxy_cache`指令启用缓存。例如,可以创建一个名为`static_cache`的...
ngx_slowfs_cache 是 nginx 模块,允许缓存静态文件(使用 root 指令管理)。 这使得能够为存储在慢文件系统上的文件创建快速缓存。当缓存放置在与原点相同的速度磁盘上时,使用此模块没有意义。配置示例:http { ...
2. 使用缓存:通过配置Nginx缓存静态资源,减轻服务器压力,提高响应速度。 3. 防火墙配置:通过防火墙规则限制不必要的入站流量,增强服务器安全性。 总结,Nginx的安装和配置涉及到多个层面,包括基础安装、...
在C++编程环境下,我们可以为Nginx开发自定义模块来扩展其功能,例如"cpp-Nginx静态资源重定向模块"就是一个这样的例子。这个模块旨在优化网站性能,通过重写静态资源(如CSS、JavaScript和图片)的URL,将请求转发...
# 浏览器缓存静态文件的有效期为90天 add_header Cache-Control "public"; # 设置额外的HTTP头,指示缓存可以被存储和共享 } ``` 需要注意的是,Nginx的缓存策略允许我们为不同类型的响应码和文件类型定义不同的...
它具备处理静态文件、索引文件以及自动索引,无缓存的反向代理加速,简单的负载均衡和容错等功能。Nginx还具备模块化的结构,如gzipping,byteranges,chunkedresponses,以及SSI-filter等filter。此外,Nginx还支持SSL...
创建站点根目录并将静态资源文件放置其中;利用location指令针对不同的请求提供不同的服务。静态网页部署完成后,可以利用Nginx提供的日志分析工具进行性能监控和分析,以便持续优化Web服务的性能。
可以通过设置HTTP响应头来控制浏览器缓存静态资源,例如: ```nginx location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ { expires 1y; add_header Cache-Control "public"; } ``` 这将设置一年的有效期,并告知...
总结来说,Spring MVC提供了多种方式来管理和优化静态资源的访问,包括自定义静态资源路径、缓存控制、避免与控制器冲突以及性能优化。通过灵活的配置,开发者可以根据项目需求来定制最佳的静态资源处理策略。
在本教程中,我们将探讨如何利用Nginx搭建一个专门用于处理图片的静态资源缓存服务器。这个过程主要包括Nginx的安装、配置以及设置缓存策略,以提高图片加载速度和服务器性能。 首先,为了安装Nginx,我们需要在...