Web服务器那些招

本文介绍服务器日志处理方式,使用logrotate进行日志轮换,并探讨nginx配置及优化方法,包括fast-cgi参数设置、在线数量估算、内核升级等。同时,给出nginx worker_processes的最佳实践。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

服务器每天日志处理

使用服务器自带的/etc/logrotate

配置文件:

/etc/logrotate.d/nginx

比如nginx:

/usr/local/nginx/logs/access.log {

rotate 3

compress

delaycompress

daily

dateext

ifempty

maxage 3

sharedscripts

postrotate

/usr/bin/kill -USR1 `cat /var/run/nginx.pid`

endscript

}

http://blog.youkuaiyun.com/iiisan/article/details/1180419

注意这里的postrotate,发送一个USR1信号给nginx,这样nginx收到这个信号就会重新获取新的accesslog文件的句柄了。否则nginx持有的文件句柄有可能是错误的。

nginx的fast-cgi param

fastcgi_param RELEASE 1可以设置下

来区分是开发环境还是线上环境

代码中可以使用$_SERVER[‘RELEASE’]获取

如何估计单机可承受的在线数量

1 获取机器内存

2 看每个php-fpm会占用多少内存,计算可以开多少个php-fpm

3 看每个php进程会占用多少时间

4 计算每秒一个php-fpm会处理多少请求

5 可以计算出单个机器可以处理多少请求

nginx的access_log

nginx的access_log必须设置off才会停止

如果什么都没有设置,它还是会记录access_log

Linux内核升级

2.6.32比以前的版本对系统的稳定和性能提升有指数级的优化。所以建议低版本都升级到这个版本以上

xarg参数i

问题:

echo a|xarg echo b

这样会返回b a

要想返回a b就要这样设置

echo a|xarg –i echo {} b

xarg就会代替大括号

suggest表现

对于前端有suggest的功能

千万不要监听onchange事件,当输入框输入一个键的时候就调用一次接口,这样对后端压力会很大。

应该使用setTimeOut或者setIntval之类的方式,定期判断输入框是否有变化,然后再决定是否调用接口。

nginx的worker_processes该怎么设置

设置和cpu核数一样

并且还需要设置nginx_worker_cpu_affinity

这里有详细的文章参考:

http://www.1990y.com/nginx-worker-process-affinity/comment-page-1/#comment-4973

其中nginx_worker_cpu_affinity如果不设置的话就是让计算机自己判断,其实效率和一般的也没有什么大的区别

Get请求的Url长度限制

HTTP协议并没有限制url长度

PHP没有限制url长度

一般浏览器限制url长度为2000字节

apache限制url为8000字节,在LimitRequestLine中设置

nginx对header的限制为large_client_header_buffers





本文转自轩脉刃博客园博客,原文链接:http://www.cnblogs.com/yjf512/archive/2012/11/26/2789673.html,如需转载请自行联系原作者

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值