记录一下工作中Nginx的配置
请求体过大
前端资源放在nginx服务器上,通过post请求后台,如果请求信息过长导致报错,无法请求转发
在http中开启
# 将请求体大小限制为 8MB。当客户端尝试发送大于该大小的请求体时,Nginx会返回 413 请求实体过大的错误。
client_max_body_size 8M;
# 设置了客户端请求体的缓冲区大小为128kb,较小的缓冲区大小可以减少内存消耗,但可能需要更频繁地从客户端读取数据。
client_body_buffer_size 128k;
# 拦截 FastCGI 后端返回的错误响应,并根据自定义的错误页面或错误处理逻辑进行处理; off:不拦截,直接把错误返回给客户端
fastcgi_intercept_errors on;
- FastCGI
在传统的CGI模式中,每个HTTP请求都需要启动一个新的进程或线程来处理,这会导致额外的开销和性能问题。而FastCGI通过引入一个长期运行的进程(FastCGI进程),使得服务器和应用程序之间可以建立持久的连接,从而避免了重复启动进程的开销。
它可以处理多个连续的HTTP请求,避免了进程启动和终止的开销。
开启gzip
在http中对资源开启压缩
# 总开关
gzip on;
# 不对IE6的UserAgent启用gzip(IE6已不再使用)
gzip_disable "mise6";
# 压缩级别,越小压缩速度越快,但压缩比越小
gzip_comp_level 6;
# 当返回内容大于此值时才开启压缩,单位为B
gzip_min_length 256;
# 需要启用gzip压缩的MIME TYPE列表。这里包括纯文本,js,css。json。xml,常见图片格式
gzip_types text/plain text/css text/javascript application/javascript application/json text/xml application/xml+rss image/svg+xml image/png image/jpg image/gif;
拆分服务器路径相关
- 新建一个server.conf
server {
listen 80;
server_name localhost;
location / {
root /user/share/nginx/html;
index index.html index.htm;
}
...
}
- 在nginx.conf文件中引入
http {
include /etc/nginx/conf.d/server.conf
}