8. 08.
504 Gateway Time-out问题常见于使用nginx作为web server的服务器的网站
我遇到这个问题是在升级discuz论坛的时候遇到的
一般看来, 这种情况可能是由于nginx默认的fastcgi进程响应的缓冲区太小造成的, 这将导致fastcgi进程被挂起, 如果你的fastcgi服务对这个挂起处理的不好, 那么最后就极有可能导致504 Gateway Time-out
现在的网站, 尤其某些论坛有大量的回复和很多内容的, 一个页面甚至有几百K
默认的fastcgi进程响应的缓冲区是8K, 我们可以设置大点
在nginx.conf里, 加入:
fastcgi_buffers 8 128k
这表示设置fastcgi缓冲区为8×128k
当然如果您在进行某一项即时的操作, 可能需要nginx的超时参数调大点, 例如设置成60秒:
send_timeout 60;
我只是调整了这两个参数, 结果就是没有再显示那个超时, 可以说效果不错, 但是也可能是由于其他的原因, 目前关于nginx的资料不是很多, 很多事情都需要长期的经验累计才有结果, 期待您的发现哈!
作者: hao32 | 可以转载, 转载时务必以超链接形式标明文章原始出处和作者信息及版权声明
网址:http://www.hao32.com/webserver/159.html
hao32
dfgtgthth
dfgtgthth
伙的网站也出现过这样的情况。学习了
朋友你好!我对于电脑不是太懂,只是要经常用到,在工作中,或者娱乐中,我经常在娱乐的时候看到这个504 Gateway Time-out,对关于你发表的个人日志:解决504 Gateway Time-out(nginx),我看过了,但是我有1点没弄清楚,应该说是你没有说明白的,现在我就这个问题引出一段话:
你说:“现在的网站, 尤其某些论坛有大量的回复和很多内容的, 一个页面甚至有几百K
默认的fastcgi进程响应的缓冲区是8K, 我们可以设置大点
在nginx.conf里, 加入:
fastcgi_buffers 8 128k
这表示设置fastcgi缓冲区为8×128k
当然如果您在进行某一项即时的操作, 可能需要nginx的超时参数调大点, 例如设置成60秒:
send_timeout 60;”
对于这句话我不清楚你是怎么做的,你是我的电脑里面的什么地方怎么做的,如何操作,怎么样把他加入到你所说的那个位置,那个位置又在哪里,你可不可以说的再明白些,谢谢!!
ls无知无畏啊
-_-! 兄弟,建议你想去弄明白什么是client,什么是server
我用的是dedecms生成500篇文章以上经常出现504
用您的方法 还是解决不了
找了很多文章都是一样
今天小试了一下nginx的负载均衡,真是爽啊!
nginx是什么?
[quote]
Nginx (“engine x”) 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器。 Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,它已经在该站点运行超过两年半了。Igor 将源代码以类BSD许可证的形式发布。尽管还是测试版,但是,Nginx 已经因为它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名了。
[/quote]
首先是配置十分的简单,而且功能非常强大。真是相见恨晚。
先来看看配置文件怎么写吧
worker_processes 1;
events {
worker_connections 1024;
}
http{
upstream myproject {
#这里指定多个源服务器,ip:端口,80端口的话可写可不写
server 192.168.43.158:80;
server 192.168.41.167;
}
server {
listen 8080;
location / {
proxy_pass http://myproject;
}
}
}
nginx的负载均衡有哪些功能呢?
[list]
[*]如果后面的服务器其中一台坏了,它能自动识别,更牛的是它好了之后nginx可以马上识别
[*]服务器A和B,如果A的响应时间为3,B的响应时间为1,那么nginx会自动调整访问B的概率是A的3倍,真正做到负载均衡
[/list]
在这里还是想说说nginx的安装及运行
先到http://www.nginx.net/下载最新的源码包。
我下载到的是nginx-0.5.33.tar.gz
解压:tar zxvf nginx-0.5.33.tar.gz
接着:./configure
再接着:make
最后:make install
好的,安装完成了。我在make的时候报了个错,说HTTP Rewrite 模块 有问题,我就./configure –without-http_rewrite_module
然后再make,make install就可以了。
安装好了之后新建一个配置文件,把上面的配置文件内容拷进去,当然要修改你的IP,保存为比如 load_balance.conf
然后启动:
/usr/local/nginx/sbin/nginx -c load_balence.conf
如果上面的步骤走下来有问题的话,可以参考:
nginx的中文维基
http://wiki.codemongers.com/NginxChs
当然也可以到官方网站
http://www.nginx.net
http://www.nginx.com
由于nginx的作者是俄国人,所以英文的文档也不是那么完善,对于我来说nginx的最大优点还是配置简单,功能强大
我曾经配过 apache-jk,那真的不是一般人能配的。太复杂了,而且只能用来做tomcat的负载均衡。
nginx就没有这个限制,对它来说后面是什么服务器是完全透名的。
nginx就一点不爽,它本身目前还不能在windows下面跑。
写了一大堆,哈哈。~~
说的不对的大家指出哈
其实大家想过没有,nginx的出现就是体现了它的速度,如果一个请求响应时间要60秒,这样的网站谁会上,所以我不建议调整这样的参数,至少在我们自己写的php应用总,不应该这样干,当然我是指网站前台,如果是后台有可能需要长时间负责操作,特别是dedecms这样的cms系统,很郁闷的,网站分类是多级的,如果文章多了,一次生成全部,fastcgi就拼命的计算,nginx就拼命的等,简直就是灾难,然而很多半罐水的站长,却就喜欢这样操作
很有用的文章
从google找到这里来的,学习了。