浏览模式: 标准 | 列表分类:apache/web
Submitted by admin on 2010, December 24, 2:20 AM
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的资料不是很多, 很多事情都需要长期的经验累计才有结果, 期待您的发现哈!
apache/web | 评论:0
| Trackbacks:0
| 阅读:1655
Submitted by admin on 2010, December 19, 10:15 PM
Wed Nov 24 01:01:33 2010] [error] [mod_pagespeed 0.9.8.1-215] /var/mod_pagespeed/files/30a3a4392832681d4fa3f0b9d1346aca.lock:0: removing dir (code=2 No such file or directory)[Wed Nov 24 01:01:33 2010] [error] [mod_pagespeed 0.9.8.1-215] /var/mod_pagespeed/files/566c482f383311076f14791b78aad40b.lock:0: creating dir (code=31 Too many links)
http://code.google.com/p/modpagespeed/issues/detail?id=111
apache/web | 评论:0
| Trackbacks:0
| 阅读:957
Submitted by admin on 2010, December 6, 9:47 PM
#<VirtualHost *:80>
# DocumentRoot "/www/web/linux"
#<Directory /www/web/linux>
# Options all
# AllowOverride all
# Order allow,deny
# Allow from all
# AuthName "linux Manager Access"
# AuthType Basic
# AuthUserFile /www/etc/htpassword
# Require valid-user
#</Directory>
#</VirtualHost>
诡异在 AuthName ,只要这个名字中含Manager,限制就无法生效
害我折腾了二三个小时那么长时间,郁闷得很
apache/web | 评论:0
| Trackbacks:0
| 阅读:965
Submitted by admin on 2010, September 14, 1:45 AM
nginx限制ip并发数,也是说限制同一个ip同时连接服务器的数量
1.添加limit_zone
这个变量只能在http使用
vi /usr/local/nginx/conf/nginx.conf
limit_zone one $remote_addr 10m;
2.添加limit_conn
这个变量可以在http, server, location使用
我只限制一个站点,所以添加到server里面
vi /usr/local/nginx/conf/host/gaojinbo.com.conf
limit_conn one 10;
3.重启nginx
killall -HUP nginx
nginx 限速模块
参考:
关于limit_zone:http://wiki.nginx.org/NginxHttpLimitZoneModule
关于limit_rate和limit_conn:http://wiki.nginx.org/NginxHttpCoreModule
nginx可以通过HTTPLimitZoneModule和HTTPCoreModule两个组件来对目录进行限速。
http {
limit_zone one $binary_remote_addr 10m;
server {
location /download/ {
limit_conn one 1;
limit_rate 300k;
}
}
}
limit_zone,是针对每个IP定义一个存储session状态的容器。这个示例中定义了一个10m的容器,按照32bytes/session,可以处理320000个session。
limit_conn one 1;
限制每个IP只能发起一个并发连接。
limit_rate 300k;
对每个连接限速300k. 注意,这里是对连接限速,而不是对IP限速。如果一个IP允许两个并发连接,那么这个IP就是限速limit_rate×2。
apache/web | 评论:0
| Trackbacks:0
| 阅读:1036
Submitted by admin on 2010, August 22, 12:06 PM
rewrite ^(.*)/archiver/((fid|tid)-[\w\-]+\.html)$ $1/archiver/index.php?$2 last;
rewrite ^(.*)/forum-([0-9]+)-([0-9]+)\.html$ $1/forumdisplay.php?fid=$2&page=$3 last;
rewrite ^(.*)/thread-([0-9]+)-([0-9]+)-([0-9]+)\.html$ $1/viewthread.php?tid=$2&extra=page%3D$4&page=$3 last;
rewrite ^(.*)/profile-(username|uid)-(.+)\.html$ $1/viewpro.php?$2=$3 last;
rewrite ^(.*)/space-(username|uid)-(.+)\.html$ $1/space.php?$2=$3 last;
rewrite ^(.*)/tag-(.+)\.html$ $1/tag.php?name=$2 last;
apache/web | 评论:0
| Trackbacks:0
| 阅读:1271
Submitted by admin on 2010, July 12, 10:54 AM
所说,这个可以限制单个虚拟主机或单站点的总带宽,连接数,单线程带宽等,似乎很不错,找时间再测试下
mod_cband
CBandLimit 100M //限制虚拟主机总访问带宽为100Mb。
CBandSpeed 1024 10 30 //CBandSpeed限定总的最大链接速度为1024kb,最多并发处理10个请求每秒和30个链接每秒
CBandRemoteSpeed 20kb/s 5 3 // CBandRemoteSpeed限定一个用户最多能有20kb的链接速度,最多并发5个请求每秒和3个链接每秒
CBandPeriod 4W //设定多久对所记录的全局访问带宽进行重设(清零)。4W=4 weeks 4周(一个月)
<Location /cband-status>
SetHandler cband-status
</Location>
apache/web | 评论:0
| Trackbacks:0
| 阅读:1036
Submitted by admin on 2010, July 12, 10:41 AM
这个问题以前遇到过,也设置过,但时间久了也就忘了,再GG到这篇文章,作个记录了
近来用linux虚拟主机学习了一下linux下的权限比较高级一点的权限管理,当我们使用PHP程序的时候,在安装好以后,如果你想删除整个目录,你会发现apache用户生成了一些文件,ftp的用户不能删除.
其实这是有办法解决的。
方法1.用户组控制方法
先给所有的虚拟主机主机中的虚拟用户(ftp用户)加入到apache这个组.然后设置umask为002.这样用户和组都有读写执行权限。这个是比较容易的方法.但不安全。不同的用户可以删除对方的文件,因为是同一个组,组有读写执行的权限.
方法2.使用linux高级的权限管理acl。
对一个目录设置二重权限,除了用户本身的用户组,在加入apache对他要读写执行的权限.
这样用户就能删除apache生成的文件.但为别人的组,别的虚拟用户他没法删除.
下面我们就来看看第二种的控制方法
linux系统里面,并不是只能为所有者,同组用户和其他用户这三类人分配一个文件(目录)的权限,你还可以指定其他的用户或者组,不过有个前提,挂载分区的时候加上acl选项,比如:
mount /dev/hda1 /home -o acl。
然后你可以使用
setfacl -m u:ftp:rwx /home/ftp/www
命令来给ftp用户分配/home/ftp/www目录的所有权限
如果你要/home/ftp/www/下面新建的目录和文件也有同样的权限
setfacl -d -m u:ftp:rwx /home/ftp/www
设置默认的权限,这个命令还可以实现多个用户的不同权限的控制,比如
setfacl -m u:ftp:rwx /home/www;
setfacl -m u:tmp:r-x /home/www;
ftp用户拥有所有权限,tmp用户拥有只读权限。
你还可以设置mask的值:
setfacl -m m::rwx /home/www;
这样,新建的你就可以让虚拟主机的用户和apache用户都有权限操作文件和目录了,比如apache用户的用户名是apache,虚拟主机的用户名是vmuser,目录是/home/vmuser/www,可以使用以下的命令:
setfacl -m u:vmuser:rwx /home/vmuser/www;
setfacl -m u:apache:rwx /home/vmuser/www;
setfacl -d -m u:vmuser:rwx /home/vmuser/www;
setfacl -d -m u:apache:rwx /home/vmuser/www;
setfacl -m m::rwx /home/vmuser/www;
setfacl -d -m m::rwx /home/vmuser/www;
这样,在安装PHP程序的时候,就不会提示你apache的用户没有权限写文件,而你想删除一个目录的时候,也不会因为下面有apache用户生成的文件而不能删除了。当然这个办法有点局限就是基本上只有ext2和ext3分区格式能用,其他的,比如xfs,jfs等不能直接使用,修改后才能使用
apache/web | 评论:0
| Trackbacks:0
| 阅读:1097
Submitted by admin on 2010, June 8, 8:29 PM
<Directory "/www/web/awstats">
Options ExecCGI
AllowOverride None
Order allow,deny
Allow from all
AuthName "Nagios Access"
AuthType Basic
AuthUserFile /www/web/awstats/htpasswd
Require valid-user
</Directory>
htpasswd -c /www/web/awstats/htpasswd test
apache/web | 评论:0
| Trackbacks:0
| 阅读:1089