找服务器给各位分享nginx上传文件大小知识,如有帮助,请关注我们!
本文目录:
- 1、nginx上传创建目录
- 2、nginx配置文件下面这段话是什么意思
- 3、学习通上传视频大小超出范围
- 4、上传文件失败,具体原因:上传的文件超过大小限制,请上传小于 1024k的文件?
- 5、如何解决nginx+tomcat文件上传问题
- 6、nginx 上传文件慢
nginx上传创建目录
1、下载nginx?。
2、解压压缩包?。
3、修改配置文件?。
4、访问服务器?。
5、官方文档地址?。
nginx配置文件下面这段话是什么意思
Nginx使用有两三年了,现在经常碰到有新用户问一些很基本的问题,我也没时间一一回答,今天下午花了点时间,结合自己的使用经验,把 Nginx的主要配置参数说明分享一下,也参考了一些网络的内容,这篇是目前最完整的Nginx配置参数中文说明了。
#定义Nginx运行的用户和用户组
user www www;
#nginx进程数,建议设置为等于CPU总核心数。
worker_processes 8;
#全局错误日志定义类型,[ debug | info | notice | warn | error | crit ]
error_log ar/loginx/error.log info;
#进程文件
pid ar/runinx.pid;
#一个nginx进程打开的最多文件描述符数目,理论值应该是最多打开文件数(系统的值ulimit -n)与nginx进程数相除,但是nginx分配请求并不均匀,所以建议与ulimit -n的值保持一致。
worker_rlimit_nofile 65535;
#工作模式与连接数上限
events
{
#参考事件模型,use [ kqueue | rtsig | epoll | /dev/poll | select | poll ]; epoll模型是Linux 2.6以上版本内核中的高性能网络I/O模型,如果跑在FreeBSD上面,就用kqueue模型。
use epoll;
#单个进程最大连接数(最大连接数=连接数*进程数)
worker_connections 65535;
}
#设定http服务器
http
{
include mime.types; #文件扩展名与文件类型映射表
default_type application/octet-stream; #默认文件类型
#charset utf-8; #默认编码
server_names_hash_bucket_size 128; #服务器名字的hash表大小
client_header_buffer_size 32k; #上传文件大小限制
large_client_header_buffers 4 64k; #设定请求缓
client_max_body_size 8m; #设定请求缓
sendfile on; #开启高效文件传输模式,sendfile指令指定nginx是否调用sendfile函数来输出文件,对于普通应用设为 on,如果用来进行下载等应用磁盘IO重负载应用,可设置为off,以平衡磁盘与网络I/O处理速度,降低系统的负载。注意:如果图片显示不正常把这个改 成off。
autoindex on; #开启目录列表访问,合适下载服务器,默认关闭。
tcp_nopush on; #防止网络阻塞
tcp_nodelay on; #防止网络阻塞
keepalive_timeout 120; #长连接超时时间,单位是秒
#FastCGI相关参数是为了改善网站的性能:减少资源占用,提高访问速度。下面参数看字面意思都能理解。
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
fastcgi_buffer_size 64k;
fastcgi_buffers 4 64k;
fastcgi_busy_buffers_size 128k;
fastcgi_temp_file_write_size 128k;
#gzip模块设置
gzip on; #开启gzip压缩输出
gzip_min_length 1k; #最小压缩文件大小
gzip_buffers 4 16k; #压缩缓冲区
gzip_http_version 1.0; #压缩版本(默认1.1,前端如果是squid2.5请使用1.0)
gzip_comp_level 2; #压缩等级
gzip_types text/plain application/x-javascript text/css application/xml;
#压缩类型,默认就已经包含textml,所以下面就不用再写了,写上去也不会有问题,但是会有一个warn。
gzip_vary on;
#limit_zone crawler $binary_remote_addr 10m; #开启限制IP连接数的时候需要使用
学习通上传视频大小超出范围
就是你上传的这个视频文件的大小不能超过30M. 超过就会被Nginx拦截出现错误。一般在你手机上选择相应的视频,然后查看“详细信息”就能看到视频的大小了。视频文件太大,可以使用文件压缩工具来减小,不过视频的清晰度会有所损失。
上传文件失败,具体原因:上传的文件超过大小限制,请上传小于 1024k的文件?
服务器默认设置没改导致的
NGINX、Tomcat都有相关设置
百度搜一下 上传文件超过1M报错 就知道了,改下参数并重启服务就行了。
如何解决nginx+tomcat文件上传问题
最常用的方法是通过设置nginx的client_max_body_size解决nginx+php上传大文件,主要是设置上传文件大小和php脚本运行时长即可。
nginx 上传文件慢
问题:项目进行了前后端分离,同一台服务器下 后台使用docker 进行部署,并使用Nginx 进行代理访问后台,结果上传30M 文件用了1分钟,实际上10秒左右就可以了。
刚开始以为是 client_max_body_size proxy_send_timeout proxy_read_timeout 的问题,因为上传速度很快,但是就是在上传成功后,一直在等待服务器的响应。所以一开始就都在这个问题上纠结耗费挺多时间。
后面同事说是 proxy_pass ; 的问题,注意这个代理地址里面的这个 ht-api 这个其实是我部署docker 的容器名称,了解docker 的都知道,docker 容器在同一个bridge网络下可以通过名称进行访问的,当时我就觉得这个也相当于内网的访问的呀,并没有再经过其他网络层了。
说白还是对docker 不了解后面是更换了 proxy_pass ; 容器的虚拟IP地址,才真正解决了问题。
有哪位大佬可以解释下这个问题么?
本文关于nginx上传文件大小和nginx 大文件的内容来源于网络,版权归原作者所有,如有侵权,请联系删除!