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

国语自产精品视频在线看

技术教程
您的位置:首页服务器类Web服务器 → LNMPA遇到504 Gateway time-out错误的解决方法

LNMPA遇到504 Gateway time-out错误的解决方法

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

Nginx的特点是处理静态很给力,Apache的特点是处理动🤢态很稳定【dìng】,两者结🚬合起来【hé qǐ lái】便是🏈LNMPA,nginx处理前【chù lǐ qián】🙇端【duān】,apache处理后【chù lǐ hòu】端【duān】,这样处理静态会很【tài huì hěn】快,处理动🤢态会很【tài huì hěn】稳定【dìng】。当我以💉为安装完成以👑后便万🌽事大吉,不料更【bú liào gèng】新网站的时候【de shí hòu】🏁却出现504 Gateway time-out;起初还📡以为这是偶然🏪,多次尝试后依【shì hòu yī】然出现这样的情况,因此才【yīn cǐ cái】决定查【jué dìng chá】🐫找解决【zhǎo jiě jué】💑方法💺。

LNMP面对【miàn duì】🚥504 Gateway time-out

因为【yīn wéi】504 Gateway time-out是【shì】Nginx的专属错误【wù】🥀,因此起初我以为是【wéi shì】🔱nginx配置出错,查找网🦈上的教🀄程,找到相【zhǎo dào xiàng】应的解🎢决方法,下面简✴单说说LNMP面对此⬆种情况🎆的解决方案【fāng àn】。Nginx出现这样的错😭误【wù】🍔,是因为【shì yīn wéi】对PHP-CGI进程数限制得【xiàn zhì dé】太小【tài xiǎo】,面对更【miàn duì gèng】新网站这类操👑作,很可能出现进【chū xiàn jìn】⛹程不足而超时【ér chāo shí】的情况【de qíng kuàng】,因此要【yīn cǐ yào】修改两处涉及🦇到处理时间的🔏文件。

首先是【shǒu xiān shì】nginx.conf文件,这个文件在👖/nginx/conf/nginx.conf,打开以【dǎ kāi yǐ】后🦑,主要修改【xiū gǎi】前面几个时间,建议修改【xiū gǎi】为120秒以上。至于用【yòng】😉什么工【shí me gōng】具修改【xiū gǎi】🤴,推荐在🐮线命令行编辑【háng biān jí】;或者用【huò zhě yòng】🥣winscp下载下📥来【lái】,用【yòng】🌍Dreamweaver修改【xiū gǎi】。

fastcgi_connect_timeout 300s;

fastcgi_send_timeout 300s;

fastcgi_read_timeout 300s;

fastcgi_buffer_size 128k;

fastcgi_buffers 8 128k;#8 128

fastcgi_busy_buffers_size 256k;

fastcgi_temp_file_write_size 256k;

其次要【qí cì yào】🏾修改【xiū gǎi】php-fpm.conf文件,这个文件在🏗/php-5.2.17/etc/php-fpm.conf,不同【bú tóng】🚗的一键安👠装包位置有所不同【bú tóng】🚗,反正找🤥找php安装以后文件【hòu wén jiàn】下面的etc文件夹即可,在线编辑【biān jí】或下载下来【zǎi xià lái】🍍用🍅Dreamweaver编辑【biān jí】。

进入文件后搜【jiàn hòu sōu】索【suǒ】🏄”max_children”这是【zhè shì】php-cgi进程数🔬,一个进🤞程占20M~30M内存😊,按自己【àn zì jǐ】❌的VPS或云主【huò yún zhǔ】🦃机内存😊进行计💾算【suàn】,好【hǎo】🎖比【bǐ】512M内存😊,推荐设置为【wéi】🕛18即可;另外搜🍉索【suǒ】🏄”request_terminate_timeout”,这是【zhè shì】超时时间🌋,若php程序要长时间运作,那么设【nà me shè】🎓置时间大一点会比【bǐ】较🛌好【hǎo】🎖,好【hǎo】🎖比【bǐ】设置为【wéi】🕛120秒,单位默【dān wèi mò】认是秒,或者写成120同样可以【yǐ】。

LNMPA遇到【yù dào】🤜504 Gateway time-out

当我按照Nginx的解决【de jiě jué】🎵方法设置🔹,很快设【hěn kuài shè】🐔置🔹成功【chéng gōng】,不过依【bú guò yī】🚌然会出【rán huì chū】😔现【xiàn】🕜504 Gateway time-out,这时我直接切换为LNMP组合,发现【xiàn】🕜不再遇【bú zài yù】到【dào】504 Gateway time-out错误😪,这说明设置🔹已经生效;为什么🔤还会出现【xiàn】🕜这样的错误😪呢【ne】?

经过大【jīng guò dà】🤔量的资料查找,终于发现这是Nginx与Apache通信时🛏间设置问题【wèn tí】👴,当用户【dāng yòng hù】发出🍊php脚本执行【háng】🍲请求,nginx不会执【bú huì zhí】🤲行【háng】🍲php,会把这个问题【wèn tí】🥁留给后【liú gěi hòu】台的apache,nginx会等待【huì děng dài】一段时间,apache可以在🦌等待时🤸间内处理【lǐ】php脚本请🚛求,若未处理完【chù lǐ wán】💼,nginx便已未收到数据请求【jù qǐng qiú】而返回504 Gateway time-out错误【cuò wù】🐝,实际情况是apache依然会在后台【zài hòu tái】🥣处理完【chù lǐ wán】💼php脚本,只是前【zhī shì qián】台返回🍔错误【cuò wù】🐝。

解决方🚉法是修【fǎ shì xiū】改【gǎi】nginx与apche通信时🚁间,具体是【jù tǐ shì】配置【pèi zhì】proxy.conf,这个文【zhè gè wén】件在🧜/nginx/conf/下面,名字可👅能会有变化🚊,好比有的安装包是laproxy.conf,反正是【fǎn zhèng shì】📭**proxy.conf文件。

proxy_connect_timeout 60;

proxy_send_timeout 600;

proxy_read_timeout 90;

proxy_buffer_size 128k;

proxy_buffers 8 128k;

proxy_busy_buffers_size 256k;

proxy_temp_file_write_size 100m;

第一项【dì yī xiàng】是连接【shì lián jiē】✖时间【shí jiān】👝,前端连【qián duān lián】接后端时间【shí jiān】👝,60s以内即👍可【kě】,第二个🎚是发送时间【shí jiān】👝,允许后【yǔn xǔ hòu】端返回数据的时间【shí jiān】👝,90s以内即👍可【kě】,第三个时间【shí jiān】👝是读写时🌹间,这是前端等待😬后端处🔒理时间【shí jiān】👝,这是导🏎致504 Gateway time-out的根本原因【yuán yīn】,出现这【chū xiàn zhè】个错误【gè cuò wù】,说明这个值太小,推荐不小于🐭600s,服务器越差,那么设置得更【zhì dé gèng】🔧长【zhǎng】💸,保证处理完毕【lǐ wán bì】。

当我把这个文🍼件设置【jiàn shè zhì】好,重启♌nginx和apache,再次更新文章,已经不会遇到🎒这类错误【cuò wù】,说明出【shuō míng chū】错原因🛵不是🔬nginx,而是前【ér shì qián】段和后端的通【duān de tōng】信时间⏬太短。另外【lìng wài】🐠,nginx还会有🥞502错误【cuò wù】,实际上【shí jì shàng】🤝原理是差不多【chà bú duō】的,同样设置上面这部分【zhè bù fèn】文件【wén jiàn】,LNMPA组合依🗓然是设✔置前后端的通【duān de tōng】信时间⏬。

关键词:LNMPA

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

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