服务器每天日志处理
使用服务器自带的/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.csdn.net/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