每日记载内容总结42
1. log日志,相关知识
log4j中输出信息的级别分为五个级别:DEBUG、INFO、WARN、ERROR和FATAL。
这五个级别是有顺序的,DEBUG < INFO < WARN < ERROR < FATAL,明白这一点很重要。
这里Log4j有一个规则:假设设置了级别为P,如果发生了一个级别Q比P高,则可以启动,否则屏蔽掉。
catalina.out与log文件的区别:
catalina.out里面存放的是tomcat启动关闭的输出和在控制台的输出。
log文件保存的log日志的内容。包括了catalina.out输出以及log输出。
debug 级别最低,一般在开发调试的时候使用。开发完成后使用error或info。
2. 服务器磁盘满了,删除文件之后,磁盘资源依旧未释放,解决办法:
(1)如果你知道文件名的话:lsof | grep nohup.out,找到是什么进程在使用这个文件,找到后kill掉就能释放空间了
(2)如果你不知道文件名的话:lsof | grep deleted,这样会查找所有被删除的但是文件句柄没有释放的文件,找到后kill掉即可
3.nginx 配置服务器缓存和转发(来源:将nginx同时作为负载均衡和Web缓存服务器)
#注:proxy_temp_path和proxy_cache_path指定的路径必须在同一分区
proxy_temp_path /data0/proxy_temp_dir;
#设置Web缓存区名称为cache_one,内存缓存空间大小为200MB,1天清理一次缓存,硬盘缓存空间大小为30GB。
proxy_cache_path /data0/proxy_cache_dir levels=1:2 keys_zone=cache_one:200m inactive=1d max_size=30g;
upstream backend_server {
server 192.168.8.43:80 weight=1 max_fails=2 fail_timeout=30s;
server 192.168.8.44:80 weight=1 max_fails=2 fail_timeout=30s;
server 192.168.8.45:80 weight=1 max_fails=2 fail_timeout=30s;
}
server
{
listen 80;
server_name www.yourdomain.com 192.168.8.42;
index index.html index.htm;
root /data0/htdocs/www;
location /
{
#如果后端的服务器返回502、504、执行超时等错误,自动将请求转发到upstream负载均衡池中的另一台服务器,实现故障转移。
proxy_next_upstream http_502 http_504 error timeout invalid_header;
proxy_cache cache_one;
#对不同的HTTP状态码设置不同的缓存时间
proxy_cache_valid 200 304 12h;
#以域名、URI、参数组合成Web缓存的Key值,Nginx根据Key值哈希,存储缓存内容到二级缓存目录内
proxy_cache_key $host$uri$is_args$args;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_pass http://backend_server;
expires 1d;
}
#用于清除缓存,假设一个URL为http://192.168.8.42/test.txt,通过访问http://192.168.8.42/purge/test.txt就可以清除该URL的缓存。
location ~ /purge(/.*)
{
#设置只允许指定的IP或IP段才可以清除URL缓存。
allow 127.0.0.1;
allow 192.168.0.0/16;
deny all;
proxy_cache_purge cache_one $host$1$is_args$args;
}
#扩展名以.php、.jsp、.cgi结尾的动态应用程序不缓存。
location ~ .*\.(php|jsp|cgi)?$
{
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_pass http://backend_server;
}
去掉域名后缀的index.html
location =/index.html{
rewrite /index.html http://www/xxx.com redirect;
}
3.其他知识
(1)ajax 报302,说明链接被重定向,需检查过滤器或者拦截器url限制
(2)The absolute uri: http://ckeditor.com cannot be resolved in either web.xml or the jar files deployed with this application [duplicate] 缺少jar包 ckeditor
(3)多个项目部署在多个tomcat,有时候会导致session冲突,解决办法:
在server.xml里Context 标签中加sessionCookieName,两个tomcat取名不一样就可以了,例如一个叫sessionid1一个叫sessionid2
<Context path="" docBase="D:/xxxxx" sessionCookieName="sessionid1"/>
(4)GROUP_CONCAT(DISTINCT c.PERSON_NUM) personNum 将不同的person_num拼凑在一起,以逗号分隔
(5)date_format(CBM.MATCH_DATE, '%m') monthNum 直接在sql里面获取月份
date_format(CBM.MATCH_DATE, '%d') dayNum 直接在sql里面获取天数
(6) du --max-depth=1 -h 查看同级文件夹大小