配置Nginx错误和经验总结

  Nginx的使用过程,出现了各种问题,在这里主要是记录下来,然后方便以后查看,在这里再总结在一起,稍微会条理清晰点,以后遇到什么与Nginx响应的问题都会在这里记录下来。

  • 问题1:Nginx监听的是8080端口,为什么会出现浏览器请求之后URL获取的端口一直都是80?

  答:这是因为你的location配置中对请求头的设置是proxy_set_header Host $host,这种配置是默认80端口的,当你的监听端口不是80时,就会出现这种问题。可以修改为proxy_set_header Host $host:$server_port或者不配置则会默认就是proxy_set_header Host $host:$server_port.

  • 问题2:莫名其妙报了500的错误码,但是Tomcat的正常,这是什么原因?

   答:通过yum安装的方式一般日志在/var/log/nginx/error.log里,查看日志可以看到,因为请求数据无法写入到临时文件中,磁盘满了,因为Nginx每一个请求的数据都会先写入的temporary file里,故会出现500的错误,此时可以通过df -h查看磁盘的信息发现,磁盘已经100%,解决方法就是删除部分没有用的文件。

  • 问题3: 部分用户在首页尝试登陆,出现页面渲染不完整,甚至是空白?
    答:在IE下Debug发现,部分JS文件未加载完整,导致渲染不完整甚至是空白的问题,主要是Nginx代理之后会有相应的代理缓存区,缓存区默认只有几十KB,某些版本的nginx默认设置中没有相关处理,导致部分文件代理是会出现加载不全的现象,其实不仅仅是JS文件。只是因为框架的JS文件略大,所以经常出现类似问题,导致Nginx响应到客户端的js文件出现了缺失的问题。
    解决方法:
    nginx.conf的http{}段添加下面的配置,调大代理缓存区:
   #调大buffer,解决js加载不完整问题
    proxy_buffer_size 256k;#缓存大小
    proxy_buffers   32 256k;#32个258k的代理缓存区
    proxy_busy_buffers_size 256k;
  • 问题4: 出现上传文件报413错误码。
    答:原因是Nignx的默认请求体的大小只有1M,当文件超过这个大小时,上传会出现413错误,比较坑。

    解决方法:修改Nginx的配置文件nginx.conf,在 http{} 段中添加增大请求体的配置:

client_max_body_size 50m;#设置允许请求体的大小,具体的大小是具体情况为准
client_body_buffer_size 512k;
  • 问题8: 并发测试出现Gatway 504错误

    答:https://stackoverflow.com/questions/7348935/timeout-when-uploading-a-large-file ,调大代理读取的时间,因为读取文件,容易耗时比较久。

    解决方法:在nginx.conf的http{}段添加下面的配置proxy_read_timeout 1200;关于这个timeout的配置可以参考另外一篇文章:https://blog.csdn.net/strive_or_die/article/details/100061122

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值