验证配置文件
此命令可以快速验证配置文件是否有语法错误。
nginx -t
启动nginx
start nginx
重启nginx
nginx -s reload
停止nginx
nginx -s quit
配置内容
upstream
proxy_pass
client_max_body_size
限制请求体的大小,若超过所设定的大小,返回413错误,默认1m
client_header_timeout
client_body_timeout
proxy_connect_timeout
后端服务器连接的超时时间_发起握手等候响应超时时间
http请求无法立即被容器(tomcat, netty等)处理,被放在nginx的待处理池中等待被处理。此参数为等待的最长时间,默认为60秒,官方推荐最长不要超过75秒
proxy_read_timeout
连接成功后等候后端服务器响应时间其实已经进入后端的排队之中等候处理(也可以说是后端服务器处理请求的时间)
http请求被容器(tomcat, netty等)处理后,nginx会等待处理结果,也就是容器返回的response。此参数即为服务器响应时间,默认60秒
proxy_send_timeout
后端服务器数据回传时间_就是在规定时间之内后端服务器必须传完所有的数据
http请求被服务器处理完后,把数据传返回给Nginx的用时,默认60秒
避坑指南
上传大文件时报跨域问题
![9{310FU~(50O3K)V3BJVEY.png
一开始以为是上传文件跨域导致的,但是发现小文件是能正常生产的,而且用的是同一个接口。
那么问题就出在大文件上。
查询资料后发现是内容超出了ng的限制,导致请求被关闭了。
解决方案
修改请求大小限制就行
client_max_body_size 50m; # 限制请求体的大小,若超过所设定的大小,返回413错误,默认1m
client_header_timeout 60s; # 读取请求头的超时时间,若超过所设定的大小,返回408错误
client_body_timeout 60s; # 读取请求实体的超时时间,若超过所设定的大小,返回413错误
proxy_connect_timeout 60s; # http请求无法立即被容器(tomcat, netty等)处理,被放在nginx的待处理池中等待被处理。此参数为等待的最长时间,默认为60秒,官方推荐最长不要超过75秒
proxy_read_timeout 60s; # http请求被容器(tomcat, netty等)处理后,nginx会等待处理结果,也就是容器返回的response。此参数即为服务器响应时间,默认60秒
proxy_send_timeout 60s; # http请求被服务器处理完后,把数据传返回给Nginx的用时,默认60秒
参考文档
https://blog.csdn.net/aa390481978/article/details/103782790
开机自动运行
tasklist |find /i "nginx.exe" && echo "Is running" || start nginx
exit
先检查有没有运行nginx,如果没有则运行nginx。