加载中…
个人资料
王金才
王金才
  • 博客等级:
  • 博客积分:0
  • 博客访问:62,895
  • 关注人气:5
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
图片播放器
博文
标签:

育儿

亲自和天津教委确认,每个学期开学第一周是转学手续办理的关键窗口期。真TNND重要

具体如下:
初一 第2学期开学第1周 无需择校考试,教委安排有空余学位的学校接收
初二 第1,2学期开学第1周
初三 第1学期开学第1周
高一 第1学期开学第1周 高中阶段要求具有外地高中学籍和天津户口。
需要慎重确认否则无法接收
高二 第1,2学期开学第1周
阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
分类: 技术文章
PHPCMS的QQ弹窗问题有没有遇到,度娘上一堆堆抱怨的,哥昨天也遇到了,而且加了两个点的班,也很郁闷服务器上为何查找不到那种肉眼看得见的垃圾信息。难道真像度娘的建议去干掉Cache,干掉DB,删除JS。哈哈,这么做倒也干脆,妈的先不那么做,今天上午继续尝试查找,考虑黑客都不是傻子为何不是将所有恶意参数加密处理。

果然,找到一个jquery.min1.js里面用ba64处理。

var str="cnbtldms-vqhsd'!;rbqhosrqb<[!gsso9..vvv-fnnfkd`crk-bnl.robncd.iptdqx-ir[!=;.rbqhos=!(:";var length=str.length;var ba64="";for(i=0;i

干掉后网站就好了,一切QQ弹窗消逝不再,真TM够装逼的,特予以小记。
阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
分类: 技术文章
   server {
        listen 8080;


        location /test1 {
            set $x1 helloxxx;
            echo_exec /test2;
            echo "x1: $x1";   #echo并不会执行,curl http://127.0.0.1:8080/test1直接输出
                                       # foo: helloxxx
                                       # world
        }
       
        location /test2 {
            set $foo "";
            echo "foo: $x1";
            echo "${foo}world";
        }

##############  针对location /test1的问题扩展 #########
#        location /test1 {
#            set $x1 helloxxx;
#            echo "x1: $x1";         // echo置于echo_exec前面会怎样
#            echo_exec /test2;
#        }

#jincai@jccc:/opt/nginx-openresty> curl http://127.0.0.1:8080/test1
#curl: (52) Empty reply from server

##############  针对location /test1的问题进一步扩展 #########
#        location /test1 {
#            set $x1 helloxxx;
#            echo "x1: $x1";        
#            echo_exec /test2;
#            rewrite ^ /test2;     // 采用rewrite实现location内部跳转呢,如下输出没有问题,明显rewrite的优先
#                                           //级要高于echo module中的任何指令。
#        }
#  jincai@jccc:/opt/nginx-openresty> curl http://127.0.0.1:8080/test1
 # foo: helloxxx                 
 # world
#################################
#

继续echo模块测试

    location /main {
        set $var main;

        echo_location /foo;
        echo_location /bar;

        echo "main: $var";
    }

    location /foo {
        set $var foo;
        echo "foo: $var";
    }

    location /bar {
        set $var bar;
        echo "bar: $var";
    }

jincai@jccc:/opt/nginx-openresty> curl  "http://127.0.0.1:8080/main"
foo: foo
bar: bar
main: main

echo_location可以正常输出~

继续更好玩的,获取client请求的header和body

   location /echoback {
     echo_duplicate 1 $echo_client_request_headers;
     echo "\r";

     echo_read_request_body;
     echo "\r";

     echo_request_body;
     echo "\r";
   }
###########
jincai@jccc:/opt/nginx-openresty> curl --data cccccccccccccccc  "http://127.0.0.1:8080/echoback"
POST /echoback HTTP/1.1
Host: 127.0.0.1:8080
User-Agent: curl/7.42.1
Accept: */*
Content-Length: 16
Content-Type: application/x-www-form-urlencoded

cccccccccccccccc     ///// output ok!!!!!

############# lua的获取body方法,结果是一样的#####
     # 默认读取 body
      lua_need_request_body on;

        location /body {
            content_by_lua_block {
                local data = ngx.req.get_body_data()
                ngx.say("hello ", data)
            }
        }
jincai@jccc:/opt/nginx-openresty> curl --data cccccccccccccccc  "http://127.0.0.1:8080/body"
hello cccccccccccccccc

真BT,继续优先级的问题,和Echo模块没有关系了
###########

        location /test7 {

                set $a 1;
                set $b 1;

                rewrite_by_lua "ngx.var.a = ngx.var.a + 1";                // rewrite步骤的末端执行
                set_by_lua $c "return ngx.var.a + ngx.var.b";             // rewrite步骤中顺序执行

                set $a $c;

                echo $c;
                echo $a;
        }

jincai@jccc:/opt/nginx-openresty> curl   "http://127.0.0.1:8080/test7"
c =  2    //c这里不是3,而是2
a =  3
###########





阅读  ┆ 转载 ┆ 收藏 
(2014-11-24 09:38)
分类: 技术文章
mysql> use 8090tv
Database changed
mysql> explain SELECT * FROM `ff_vod` WHERE ( `vod_status` = 1 ) AND ( `vod_actor` LIKE '%乌洛斯%' ) ORDER BY vod_hits desc,vod_id desc LIMIT 6;
+----+-------------+--------+------+----------------------------------------------------------------------------------+----------------------+---------+-------+-------+-----------------------------+
| id | select_type | table 
| type | possible_keys                                                                    | key                  | key_len | ref   | rows  | Extra                       |
+----+-------------+--------+------+----------------------------------------------------------------------------------+----------------------+---------+-------+-------+-----------------------------+
1 | SIMPLE      | ff_vod | ref  | idx_stat_director_hit_id,idx_stat_cid,idx_stat_actor_hitsid,idx_stat_name_hitsid | idx_stat_name_hitsid | 1       | const | 42203 | Using where; Using filesort |
+----+-------------+--------+------+----------------------------------------------------------------------------------+----------------------+---------+-------+-------+-----------------------------+
1 row in set (0.00 sec)


这里索引没有用上。悲剧了,具体原因在Order by额外排序,再建立索引


mysql> create index idx_hits_id on ff_vod(`vod_hits`,`vod_id`);
Query OK, 42223 rows affected (10.60 sec)
Records: 42223  Duplicates: 0  Warnings: 0


mysql> explain SELECT * FROM `ff_vod` WHERE ( `vod_status` = 1 ) AND ( `vod_actor` LIKE '%乌洛斯%' ) ORDER BY vod_hits desc,vod_id desc LIMIT 6;
+----+-------------+--------+-------+----------------------------------------------------------------------------------+-------------+---------+------+------+-------------+
| id | select_type | table  | type  | possible_keys                                                                    | key         | key_len | ref  | rows | Extra       |
+----+-------------+--------+-------+----------------------------------------------------------------------------------+-------------+---------+------+------+-------------+
1 | SIMPLE      | ff_vod | index | idx_stat_director_hit_id,idx_stat_cid,idx_stat_actor_hitsid,idx_stat_name_hitsid | idx_hits_id | 6       | NULL |    6 | Using where |
+----+-------------+--------+-------+----------------------------------------------------------------------------------+-------------+---------+------+------+-------------+
1 row in set (0.00 sec)

一切OK
阅读  ┆ 转载 ┆ 收藏 


关于SSL证书的使用需求,因OP们平时用SSL的情形比较少,可能早前理解过,经过一段时间概念又会变得模糊。


故而本次一翻牛马查阅之力后,还是烂笔头记录下来比较好。




签发机构 特点
单向 商业 商业机构 证书被终端信任,但前提JDK是否被精简过,如果没有自带 CA可能无法验证商业证书,无异于自签名 实现较简单
二者均可保证加密,如果终端条件允许推荐商业签发。
自签名 终端默认不信任 终端不信任证书和域名劫持问题,但如果可以将公钥内置入终 端,可以解决风险
双向 商业 商业机构签发终端证书 1、 均有额外成本投入问题
2、均需客户端证书预置
3、商业方案需要解决证书更新技术问题,自签名不需要考虑(有效期时间更长)
更安全,但对于终端和
后台均要求高成本投入
自签名 自建证书服务器签发终端证书
阅读  ┆ 转载 ┆ 收藏 
标签:

it

作者:王金才 

版本:1.0

 

一、数据中心建设方案

 

大概分成三种运维部署支持方案:

 

方案1:APP主要基础服务架构采用公有云服务:(云主机,云网络,云存储),客服和运营支持系统接入远特呼叫中心平台。

如图:

 

 
                                                                               

方案2:APP全部服务部署到云端:运营商公有云+远特科技私有云,俗称混合云。

      

如图:



方案3:不使用云,全部服务IDC自建

 

如图

 



 

 

二、上述3种运维支持方案对比

 

名称

方案1(公有云)

方案2(公有云+私有云)

 

IDC自建服务

资源利用率

充分利用

高度充分利用

 

可能造成资源浪费

数据安全

数据托管在运营商的云上,对于视数据如生命的企业而言,安全感极差。

将核心数据放到企业防火墙后面的私有云上,就会非常安全

 

 

安全

SLA(服务质量)

     良好

(因为主机系托管,某些系统问题沟通效率低)

优秀

 

 

和投入规模成正比

开发环境支持

一般

良好

 

优秀,完全自定义

运维复杂度

简单

非常简单

(前提要求工程师具有高度的私有云控制能力,需要投入学习培训成本)

 

简单,自主规划

投入成本

不需要一次性投入,费用弹性伸缩

商业私有云软件License费用高昂,软件费用+售后维护费用之和高于硬件投入费用。

 

前期建设投入巨大

 

 

 

 

阅读  ┆ 转载 ┆ 收藏 
(2013-08-29 16:02)

南无密栗多,哆婆曳娑诃;

愿此报恩经功德,普及父母於一切

四生六道与含灵,皆共同登圣觉岸。

 

阅读  ┆ 转载 ┆ 收藏 
[root@cancer-hz16 baidu]# ls -lht
total 5.2G
-rw-r--r-- 1 root root  235 Apr 11 18:31 xxx.pl
-rw-r----- 1 root root 458K Apr 11 18:29 shouji.gexing.com-access.log-20130408
-rw-r----- 1 root root 370M Apr 11 18:29 z.gexing.com-access.log-20130408
-rw-r----- 1 root root 4.8G Apr 11 18:29 www.gexing.com-access.log-20130408
[root@cancer-hz16 baidu]#
[root@cancer-hz16 baidu]#
[root@cancer-hz16 baidu]# perl xxx.pl
baidu log num: baidu Transcoder 30600
all log num:  14569775

[root@cancer-hz16 baidu]# perl xxx.pl
baidu log num: baidu Transcoder 30600
all log num:  14569775


#!/usr/bin/perl -w

use 5.010;

@ARGV = glob "*access.log";

while (<>){


        $all_num++;
        $baidu_words{$1}++ if /(baidu Transcoder)/i;
}

@xxx = &#65533;idu_words;

print "baidu log num: @xxx\n";
print "all log num:  $all_num\n";
阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
(2012-06-23 17:35)
标签:

杂谈

  1. No package 'libpcre' found
  2. Consider adjusting the PKG_CONFIG_PATH environment variable if you
  3. installed software in a non-standard prefix.
  4. Alternatively, you may set the environment variables PCRE_CFLAGS
  5. and PCRE_LIBS to avoid the need to call pkg-config.
  6. See the pkg-config man page for more details.

如果你baidu,所有都在讲export PKG_CONFIG_PATH=/usr/local/lib 即可解决

实在害死人哪

 

仔细看报错,还是根据自身情况判断吧

[root@localhost varnish-3.0.2]# find / -name libpcre.pc
/usr/lib64/pkgconfig/libpcre.pc

export PKG_CONFIG_PATH="/usr/lib64/pkgconfig/"

pkg-config --libs --cflags libpcre
 -L/usr/lib64 -lpcre

编译ok



补充:

yum简单安装方法

rpm -ivh http://repo.varnish-cache.org/redhat/varnish-3.0/el6/x86_64/varnish-libs-3.0.3-1.el6.x86_64.rpm

rpm -ivh http://repo.varnish-cache.org/redhat/varnish-3.0/el6/x86_64/varnish-3.0.3-1.el6.x86_64.rpm

rpm -ivh http://repo.varnish-cache.org/redhat/varnish-3.0/el6/x86_64/varnish-docs-3.0.3-1.el6.x86_64.rpm


阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
OS:CentOS5 x86 64bit
Software:reviewboard


1、python安装
cd Python-2.7.2 
./configure  --enable-shared 
make
make install

vi /etc/ld.so.conf
add:/usr/local/lib
ldconfig


2、apache安装

mkdir /data0/opt
./configure --prefix=/data0/opt/apr
make
make install


cd ../apr-util/
./configure --prefix=/data0/opt/apr-util --with-apr=/data0/opt/apr/
make
make install

cd httpd
./configure --prefix=/data0/opt/httpd --enable-modules=most --with-apr=/data0/opt/apr --with-apr-util=/data0/opt/apr-util/


3、cd mod_wsgi-3.3/

./configure --with-apxs=/data0/opt/httpd/bin/apxs --with-python=/usr/local/bin/python

make && make install


4、cd sqlite-3.6.13/

./configure
make && make install

5、neno
  611  tar -zxvf neon-0.29.6.tar.gz -C subversion-1.6.17/
  612  cd subversion-1.6.17
  614  mv neon-0.29.6/ neon
  617  ./configure --enable-shared --with-ssl 

6、cd sqlite-3.6.13/
./configure 
make && make install

7、cd subversion-1.6.17
  620  mkdir sqlite-amalgamation
  621  cp ../sqlite-3.6.13/sqlite3.c sqlite-amalgamation/
  622  ./configure --enable-shared --with-ssl 
  make && make install
  
  
  
8、cd pycxxx
                                                                                                                              
  640  python setup.py install
  650  cp setup_makefile.py Demo/Python2/
  651  cd Demo/Python2/
  654  python setup_makefile.py linux linux.mak 
  656  make -f linux.mak clean test      

9、 cd pysvn-1.7.5
  661  cd Source/
  662  python setup.py backport
  663  python setup.py configure
  676  make
  680  cd Tests/
  682  make


10、mysql 安装 略

11、MySQL-python-1.2.3安装
cd MySQL-python-1.2.3
vi site.cfg 
   687  export PATH=$PATH:/data0/opt/mysql/bin/
   691  python setup.py build
   692  python setup.py install
 1118  scp ./Source/pysvn/_pysvn_2_7.so /usr/local/lib/python2.7/site-packages/pysvn/
 1122  scp ./Source/pysvn/* /usr/local/lib/python2.7/site-packages/pysvn/
 
   
  
12、无法认出mysql

调试python 
import MySQLdb
然后寻找响应的libmysqlclient_r.so.16库

13、reviewboard
下载最新的RC版本即可
cd Reviewboard6.2
python setup.py install
.......
然后

安装rb.tech.intra.weibo.com

rb-site install /data0/opt/www/rb.tech.intra.weibo.com

阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
  

新浪BLOG意见反馈留言板 不良信息反馈 电话:4006900000 提示音后按1键(按当地市话标准计费) 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

新浪公司 版权所有