,location /static/ {, root /path/to/your/static/files;,},“Nginx静态文件缓存及Nginx上传文件大小限制

Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器,Nginx可以作为静态文件服务器,它有一个很好的特性就是可以将客户端请求的静态文件缓存在本地,当下次有相同的请求时,直接从本地读取,而不需要再去远程服务器上获取,这样可以大大提高网站的访问速度,减轻服务器的压力。
1、配置静态文件缓存
要配置Nginx静态文件缓存,需要在Nginx的配置文件中设置相关参数,以下是一个简单的示例:
http {
server {
listen 80;
server_name example.com;
root /data/www;
index index.html;
location / {
try_files $uri $uri/ @proxy;
}
location ~* .(jpg|jpeg|gif|png|css|js|ico|xml)$ {
expires 30d;
access_log off;
add_header CacheControl "public, notransform";
}
}
upstream backend {
server backend1.example.com;
server backend2.example.com;
}
server {
listen 80;
server_name backend1.example.com;
...
}
server {
listen 80;
server_name backend2.example.com;
...
}
}
在这个示例中,我们设置了location ~* .(jpg|jpeg|gif|png|css|js|ico|xml)$这个规则,表示匹配以.jpg、.jpeg、.gif、.png、.css、.js、.ico或.xml结尾的文件,对于这些文件,我们设置了缓存过期时间为30天(expires 30d),并关闭了访问日志(access_log off),同时添加了一个CacheControl头,表示允许客户端和代理服务器缓存这些文件。
2、清除缓存
当网站中的静态文件发生变化时,需要清除浏览器缓存,以便用户能够看到最新的内容,可以通过在HTML文件中添加一个特殊的注释来实现:
...
1、配置上传文件大小限制
要限制Nginx上传文件的大小,需要在Nginx的配置文件中设置相关参数,以下是一个简单的示例:
http {
server {
listen 80;
server_name example.com;
root /data/www;
index index.html;
...
client_max_body_size 10M; # 限制上传文件大小为10MB
}
}
在这个示例中,我们设置了client_max_body_size 10M,表示限制上传文件的大小为10MB,注意,这里的单位是字节(byte),如果需要修改为其他单位,可以使用以下单位:K(千字节)、M(兆字节)、G(吉字节)等,如果要将上传文件大小限制为100KB,可以设置为client_max_body_size 100k。
2、修改上传文件大小限制的方法
如果需要修改上传文件的大小限制,可以直接修改配置文件中的client_max_body_size参数,然后重启Nginx服务即可,需要注意的是,如果修改了这个参数,可能会影响网站的正常使用,所以在修改之前要确保了解这个参数的含义和可能的影响。