国语自产精品视频在线看:您身边最放心的安全下载站! 最新软件|热门排行|软件分类|软件专题|厂商大全

国语自产精品视频在线看

技术教程
您的位置:首页服务器类Web服务器 → Nginx 504 Gateway Time-out问题的解决经历

Nginx 504 Gateway Time-out问题的解决经历

我要评论 2012/11/29 20:56:20 来源:国语自产精品视频在线看 编辑:zbbingyang.com [ ] 评论:0 点击:342次

在【zài】CentOS下配置lnmp组合基【zǔ hé jī】🤫本上用的都是同样的【tóng yàng de】👃配置文件【jiàn】,一直都👕没出现😩过问题【guò wèn tí】,可最近在【zài】一个vps上安装同样的【tóng yàng de】👃环境之后【hòu】,网站在【zài】🐕线【xiàn】10多人就出 现了打开速度非常缓慢的情况【kuàng】,有好几【yǒu hǎo jǐ】次都是⛪直接达到了🏁nginx中设置【zhōng shè zhì】的脚本💓最大超时时间🍘300秒,结果导🔝致nginx往客户端浏览【duān liú lǎn】器发送🥟了一个504 Gateway Time-out的错误【de cuò wù】🐕代码【dài mǎ】,分析了🚦之后改【zhī hòu gǎi】动了几处配置文件【jiàn】,终于避【zhōng yú bì】🐾免了该🐚情况的【qíng kuàng de】👭出现😩。

从错误【cóng cuò wù】🚅代码基本可以确定跟nginx本身无🐈关,主要是提交给【tí jiāo gěi】🏒php-fpm的请求【qǐng qiú】🏆未能正☔确反馈而【ér】🍰导致,一般情况下,提交动【tí jiāo dòng】态请求【qǐng qiú】的时候,nginx会直接【huì zhí jiē】把 请求转【qǐng qiú zhuǎn】交给🏒php-fpm,而【ér】🍰php-fpm再分配👾php-cgi进程【jìn chéng】🈯来处理相关的请【qǐng】🏎求,之后再【zhī hòu zài】🍘依次返🍑回,最后由【zuì hòu yóu】nginx把结果反馈给🍹客户端👵浏览器🌄,但🤰 我这个vps目前跑的是个纯🦂php应用内容,实际上用户所有的请求【qǐng qiú】🏆都是php请求【qǐng qiú】,有的耗费时间比较久【bǐ jiào jiǔ】🌧,php-cgi进程【jìn chéng】🈯就一直都被用【dōu bèi yòng】满【mǎn】,而【ér】🍰php- fpm本身的配置文件只打开了【kāi le】🔵10组【zǔ】🕛php-cgi进程【jìn chéng】🈯,这样的【zhè yàng de】话在线用户稍🌋微多的【wēi duō de】话就会导致请求【qǐng qiú】无法被正常【bèi zhèng cháng】处理而【ér】🍰出错【chū cuò】。

大概分析出了原【yuán】🎌 因🐩,下面做【xià miàn zuò】就比较【jiù bǐ jiào】容易了,首先是❣更改【gèng gǎi】🍔php-fpm的几处配置:

把🔥max_children由之前⛰的【de】10改为现在的【de】30,这样就【zhè yàng jiù】🏼可以保证 有充足🎯的【de】php-cgi进程可以被使【yǐ bèi shǐ】用;

把🧟request_terminate_timeout由之前的【de】0s改为60s,这样【zhè yàng】php-cgi进程 处理脚【chù lǐ jiǎo】🐬本的【de】超时时间就是📞60秒【miǎo】⏮,可以防止进程💥都被挂【dōu bèi guà】起,提高利【tí gāo lì】用效率📺。

接着再更改⏪nginx的几个【de jǐ gè】配置项【pèi zhì xiàng】,减少【jiǎn shǎo】FastCGI的请求次🏗 数🏇,尽量维📡持buffers不变【bú biàn】:

  fastcgi_buffers由【yóu】🎎 4 64k 改为🐆 2 256k;
  fastcgi_buffer_size 由【yóu】🎎 64k 改为🐆 128K;
  fastcgi_busy_buffers_size 由【yóu】🎎 128K 改为🐆 256K;
  fastcgi_temp_file_write_size 由【yóu】🎎 128K 改为🐆 256K。

好了🍰,重新加载php-fpm和📳nginx的配置,再次测【zài cì cè】试【shì】,至今两周时间内没有【nèi méi yǒu】再出现【zài chū xiàn】504 Gateway Time-out的情况🌓,算是达【suàn shì dá】🍌到效果🆔了🍰。

另外,php-fpm的默认【de mò rèn】🏇静态处【jìng tài chù】理方式会使得🚰php-cgi的进程长期占【zhǎng qī zhàn】用内存【yòng nèi cún】而无法📽释放🤯,这也是【zhè yě shì】导致nginx出错的【chū cuò de】原因之【yuán yīn zhī】一🚃,因此可🛷以将php-fpm的处理方式改💽成apache模式。

<value name=”style”>apache-like</value>

从更改【cóng gèng gǎi】完毕到现在的【de】👑测试表【cè shì biǎo】🧀明上述🌸方式的【de】🏇效果还是很明显的【de】🏇,并没有发现一【fā xiàn yī】次Nginx502 bad gateway或【huò】504 Gateway Time-out错误【cuò wù】🔈。当然,如果你【rú guǒ nǐ】的【de】🏇VPS或者服【huò zhě fú】务器的【de】🏇性能足♿够好可以根据具体情【jù tǐ qíng】🎩况不必😖做无谓的【de】🏇改动。

关键词:Nginx

阅读本文后您有什么感想? 已有 人给出评价!

  • 0 欢迎喜欢
  • 0 白痴
  • 0 拜托
  • 0 哇
  • 0 加油
  • 0 鄙视