Nginx类

nginx常见错误页面有哪些?对于其解决方法是什么?
404 bad request
  请求失败,请求所希望得到的资源未被在服务器上发现。没有信息能够告诉用户这个状况到底是暂时的还是永久的。假如服务器知道情况的话,应当使用410状态码来告知旧资源因为某些内部的配置机制问题,已经永久的不可用,而且没有任何可以跳转的地址。404这个状态码被广泛应用于当服务器不想揭示到底为何请求被拒绝或者没有其他适合的响应可用的情况下。
 
一般原因:请求的Header过大
解决方法:配置nginx.conf相关设置
  1. client_header_buffer_size 16k;
  2. large_client_header_buffers 4 64k;
 
 500 Internal Server Rrror
服务器遇到了一个未曾预料的状况,导致了它无法完成对请求的处理。一般来说,这个问题都会在服务器的程序码出错时出现。
 
一般原因:脚本错误,(php语法错误、lua语法错误)
      访问量过大,系统资源限制,不能打开过多文件
      磁盘空间不足。(access log开启可能导致磁盘满溢 关闭)
解决方法:语法错误查看nginx_err_log php_err_log。
      文件访问量:
      1.修改nginx配置文件
  1. worker_rlimit_nofile 65535;
      2.修改/etc/security/limits.conf
  1. * soft nofile 65535
  2. * hard nofile 65535
 
 502 Bad Gateway、503 Serveice Unavailable
作为网关或者代理工作的服务器尝试执行请求时,从上游服务器接收到无效的响应。
一般原因:后端服务无法处理,业务中断。
解决方法:从后端日志获取错误原因,解决后端服务器问题。
 
 504 Gateway Timeout
作为网关或者代理工作的服务器尝试执行请求时,未能及时从上游服务器(URI标识出的服务器,例如HTTP、FTP、LDAP)或者辅助服务器(例如DNS)收到响应。   
注意:某些代理服务器在DNS查询超时时会返回400或者500错误
 
一般原因:后端服务器在超时时间内,未响应Nginx代理请求
解决方法:根据后端服务器实际处理情况,调正后端请求超时时间。
  1. proxy_read_timeout 90;
  2. proxy_send_timeout 90;
一般原因:可能网站页面缓存大,而fastcgi默认进程响应缓存区8k
解决方法:配置nginx.conf相关设置
  1. fastcgi_buffers 8 128k
  1. send_timeout 60;
 
 
 
nginx的优化你通常会做哪些:
1.worker_processes 的数量改成和CPU的数量一致
worker_rlimit_nofile这个参数与ulimit -n的值保持一致
2.gzip压缩(这个要看具体情况,图片类的静态文件不要压缩,文字类的可以压缩)
3.expires缓存时间优化
4.隐藏软件名称和版本号(http字段加server_tokens off;)
5.防盗链优化(主要location字段)
6.禁止通过IP地址访问网站
7.web站点目录不要设置x权限
8.设置自定义错误页面
9.nginx日志相关优化,日志切割,日志轮询
10.使用nginx cache(varnish,squid)
11.nginx WAF(nginx + lua)安全
posted @ 2019-08-13 21:01  Paco_Pig  阅读(198)  评论(0编辑  收藏  举报