首页 > 代码库 > 每日记载内容总结42

每日记载内容总结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  查看同级文件夹大小

每日记载内容总结42