微录 2015-01-25

        懒人如何坚持写博客、做总结、做笔记?


如果有能力就写个CMS吧,慢慢增加需要的功能,所有的全部都是你一手缔造的,你就会像孩子一样爱他,就会经常记录你的知识、经验、心得......



博客 2015-01-25

        没有过专业的培训,用心在实战中学习,效果也不错!


1.background 图片平铺100%,固定不动。

background: url(test.jpg) 50% 0% / cover no-repeat fixed;
-webkit-background-size: cover;


2.鼠标放图片或者文字上有变白的效果:

 #main ul.products li a:hover img  { opacity:0.8;filter:alpha(opacity=80) }


3.设置一个区块的圆角与阴影(比如mreald网站):

-webkit-border-radius: 5px 5px 5px 5px;
-webkit-box-shadow: 0 0 5px #ccc;
border-radius: 5px 5px 5px 5px;
box-shadow: 0 0 5px #ccc;


4.  css min max-width ie8 不兼容 用width=


5.设置li行高并居中

ul:  
list-style: none;
li:
height: 40px;
line-height: 40px;
border-bottom: 1px dashed #CCCBAF;
a:
overflow: hidden;

6. 按钮的设置 比如 我的右边的:


border-radius: 3px;
background: #FE9900;
color: #FFF;
padding: 6px 32px; //可用width=100等固定宽度
height: 28px;
line-height: 28px;
text-decoration: none;
hover:
background: #DD4B39;

7. 设置网站的链接颜色,比如这篇的标题

.me-list-item-title a{
text-decoration:none;
color: #0179b5;
}
.me-list-item-title a:hover{
color: #DD4B39;

8. 解决子级用css float 浮动,而父级DIV 高度不能自适应高度

博客 2015-01-23

        scp  传输大文件总是 stalled

原因: 

scp 会占用最大的带宽,如果有防火墙的话,就会有网络的开关延迟,造成TCP stalled

解决方法:

让scp 的传输速度小于你的带宽。



比如,我的带宽是4M的,最多就500K(4000Kb/8),让其传输速度为250K左右就没事了(2000/8):

 scp -l 2000 192.157.226.242:/root/drupal*.tgz .


如图:

scp-stalled.png

博客 2015-01-22

            这个问题折腾了两天,不过最后还是搞定了。比如:大家常用的TB Mega Menu,但有子菜单的链接必须定义!可是有时候是不需要,怎么办?


  1. 怎么改?

    很简单:把 a标签内容改为:href="#" onclick="return false"


  2. 在哪儿改?

  • 第一次尝试:感觉直接改数据库,找到Menu表,把链接字段给改了,或者删除,但结果是,要么不显示,要么生成新的链接。----失败!

  • 第二次尝试:改主题。既然所有的结果输出都经过主题,那么在主题拦截,做出更改,肯定可以!结果:不可以,不论你怎么改,都还是原来的链接 -------失败!

  • 第三次尝试:可以根据 css 的class 定位用JS修改,但只能改href的值,不能增加onclick....(可能js玩的不熟)

  • 第四次尝试:内容的输出可能不是网站主题,而是TB mega menu 模块的主题输出。 找数组输出的地方,改内容,一个晚上尝试,没结果  ----失败!

  • 第五次尝试:定位在模块!读TB Mega menu的源代码,看其逻辑关系--->内容输出--->包装。最后终于发现:在一个tpl.php里面做内容的包装。结果:改html与php结合的代码,为php代码,就OK!


更多好处:

博客 2015-01-18

        Drupal 系列二:常见问题汇总  给大家汇总了常见的问题与模块,但模块多了,网站就开始很慢了,下面就解决网站速度的问题:

  1. 最基本的设置:在 配置-> 开发 ->性能  里面,把缓存与压缩打开:

    选区_018.png

  2. 用nginx + php-fpm 做后端(官方推荐用nginx):


nginx 的安装就不说了,网上很多。(我用的是Tengine ,淘宝优化过的Nginx,可看我的博客

下面列出nginx的配置文件:(重要

博客 2015-01-18

            Drupal 系列一:如何快速学习 Drupal   已经讲了学习的方法。每一块我不准备细说,网上都很多,我在下面说下常见的问题及模块:

  1. 与发行版本的对比学习。  安装一个发行版本,比如Zircon Profile,首页的幻灯片、动态小图片、区块内容,都可以参考下,视图的生成,字段的设置....    对应的模块都要好好研究下

  2. 富文本编辑器的选择。


  • 如果选择Ueditor,要安装 WYSIWYG、Ueditor的模块、Ueditor的代码。上传文件比较方便(但有个问题:会自动增加P标签,这个很麻烦!)

  • 如果使用CKeditor ,要安装IMCE,才能方便上传文件、图片

  • 如果CKeditor版本用最新的,可能WYSIWYG认不出来,就去下载wysiwyg-devel版本的(开发版本已经修复这个BUG)

  • 如果找不到 “上传浏览” 的按钮,去CKeditor设置 上传文件、图片都为IMCE

博客 2015-01-10

        在给公司开发产品展示网站的时候,选择了Drupal,到现在的成品,中间走了很多曲折,也学到了很多。写一个系列,让你快速学习Drupal。


简要介绍:

            Drupal 不仅是一个CMS(内容管理系统),也是一个CMF(内容管理框架)。 主要由 核心 + 模块 + 主题 ,模块官网快3万个,其实Github上面有更多(官方要求严格)。学习难度有点大,在国内不是很流行,但在国外是很流行的。模块就像积木一样,用组件很快就能够开发一个网站。


学习方法:

博客 2014-12-17
cat httpd.conf
<IfModule log_config_module>
    LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
    LogFormat "%h %l %u %t \"%r\" %>s %b" common
    #CustomLog "logs/access_log" common
    CustomLog "logs/access_log" combined
</IfModule>


输出格式:


common : 

10.13.52.170 - - [17/Dec/2014:17:17:47 +0800] "GET /index.php HTTP/1.1" 200 10595


combined:

10.13.52.170 - - [17/Dec/2014:17:19:40 +0800] "GET /index.php HTTP/1.1" 200 10548 "http://blog.mreald.com/index.php" "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36"


解释:LogFormat 定义两种格式, common、combined 供下面or 以后引用
%h host
%u user  
%t time
%s status   <表示原始请求,>表示转换后的请求
%b back bit 返回字节数
%i  identify  定义你要的信息, User-Agent 代表用户浏览器


更改日志显示格式:

1.改 httpd.conf

2.改 自定义的vhosts.conf

博客 2014-12-16


同步到ES 的时候,有收下报错,主要是cluster 没配好 :

Exception in thread ">output" org.elasticsearch.discovery.MasterNotDiscoveredException: waited for [30s]

at org.elasticsearch.action.support.master.TransportMasterNodeOperationAction$3.onTimeout

(org/elasticsearch/action/support/master/TransportMasterNodeOperationAction.java:180)

at org.elasticsearch.cluster.service.InternalClusterService$NotifyTimeout.run

(org/elasticsearch/cluster/service/InternalClusterService.java:492)

at java.util.concurrent.ThreadPoolExecutor.runWorker(java/util/concurrent/ThreadPoolExecutor.java:1145)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(java/util/concurrent/ThreadPoolExecutor.java:615)

at java.lang.Thread.run(java/lang/Thread.java:745)


解决方法: 

修改Logstash Output属性:(或者修改 elasticsearch.ymf 的 cluster.name:elasticsearch)

博客 2014-12-16

1.主机分配:

192.168.100.11  redis elasticsearch  logstash(server)

192.168.100.12  logstash(agent)

2.下载:

wget "https://download.elasticsearch.org/logstash/logstash/logstash-1.4.2.tar.gz" 
wget " https://download.elasticsearch.org/elasticsearch/elasticsearch/elasticsearch-1.1.1.tar.gz"

注意:logstash-1.4.2 与 elasticsearch-1.1.1 版本配套

3.配置192.168.100.11(Central) 主机:

sudo apt-get install redis-server

/etc/init.d/redis-server start  


tar xzf elasticsearch-1.1.1.tar.gz

cd elasticsearch-1.1.1

./bin/elasticsearch & 


tar xzf logstash-1.4.2.tar.gz

cd logstash-1.4.2

./bin/logstash -f server.conf   

cat  server.conf
input { 
redis { 
host => "192.168.100.11" 
type => "redis-input" 
data_type => "list" 
key => "logstash" 
} 
}
output { 
stdout { } 
elasticsearch { 
cluster => "elasticsearch" 
} 
}


4.配置192.168.100.12(agent) 主机:

tar xzf logstash-1.4.2.tar.gz

cd logstash-1.4.2

i-- 6/9 i++