Category: Zaqizaba

纯代码实现全https加速wordpress

本站是放在国外的,访问经常在界面加载的时候卡住。相当的不淡定。。

上次听朋友说七牛貌似支持这样的内容存储。那么今天就来折腾它吧。

首先当然是注册七牛的帐号。这个东西百度一大堆,这里就不再来说了!

下面就来说说我的操作步骤吧

当然首先是注册 七牛账户 <- 点这里

这里需要用到的工具:

Qshell工具及使用文档

首先备份博客文件到本地(这一步其实可以不做,七牛设置好以后会自动去拉取源站点的资源)

tar zcvf blog.tar.gz /home/wwwroot/blog --exclude=Upfiles --exclude=wp-admin --exclude=*.jpg --exclude=*.php --exclude=*.html --exclude=*.txt


将需要加速的文件上传至七牛空间

Read more

安卓手机录制屏幕

最近做片子的时候遇到了一个棘手的事情,需要用到手机APP的界面。。但是截图下来的东西客户很不满意,要求使用动态的!!

那么问题就来了!录制屏幕呗..

首先百度搜了一下,貌似也有很多APP支持,但是录制的画质不高。最后居然发现安卓的ADB工具可以实现这个功能。

准备

  1. 安卓手机一部
  2. 需要录制的事物
  3. 电脑一台
  4. ADB 工具包
  5. 手机驱动

开始

  1. 安装手机驱动
  2. 手机开启USB调试
  3. 连接电脑与手机
    Read more

Centos居然中毒了!

好扯淡的嗦,今天登陆VPS想看看运行情况,使用Htop查看进程,突然发现很不正常,各种进程快速启动,然后关闭,并出现了ls -a、ifconfig、grep这类的系统进程,且ifconfig这个网络命令的cpu占用率一直保持在99%。第一反应,中毒了???

使用chkconfig --list查看,居然没有异常的东西!

chkconfig

查看crontab日志

# 查看crontab列表
crontab -l

# 查看crontab日志
ls /var/log/cron*
cat /var/log/cron-20151011 |more
gcc

我去,好夸张。。。3分钟执行一次。。。看看这玩意儿里面到底是啥子!!

[root@WebServer ~]# cat /etc/cron.hourly/gcc.sh
#!/bin/sh
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/usr/X11R6/bin
for i in `cat /proc/net/dev|grep :|awk -F: {'print $1'}`; do ifconfig $i up& done
cp /lib/libudev.so /lib/libudev.so.6
/lib/libudev.so.6

既然知道了,删除试试。。。重启后又出现!!!!!

rm -rf /etc/cron.hourly/gcc.sh
chattr +i /etc/crontab

使用top命令看看到底是哪个程序。结果一个rwvyraspcb的进程(我完全不记得有这样的进程)CPU占用率和之前htop里面看到的ifconfig占用的几乎一致,记下PID 1270。。kill -STOP 1270暂停程序试试。

# 使用ps命令查看主进程
pstree
top

# 追踪进程
# 发现病毒一直再执行一下操作(以下我已经删除了病毒体)
strace -tt -p 1270
13:27:31.002791 gettimeofday({1445750851, 2854}, NULL) = 0
13:27:31.002927 open("/lib/libudev.so", O_RDONLY) = -1 ENOENT (No such file or directory)
13:27:31.003053 open("/lib/libudev.so", O_RDONLY) = -1 ENOENT (No such file or directory)
13:27:31.003133 open("/lib/libudev.so", O_RDONLY) = -1 ENOENT (No such file or directory)

# 暂停进程
kill -STOP 1270

使用lsof看看是否还有进程在打开,再看看最近的变动

# 查看/usr/bin关联情况
lsof -R  | grep "/usr/bin"
ls -lt /usr/bin | head

既然没有多打开的进程,那么就找现有的删掉看看。

find /etc -name '*rwvyraspcb*' | xargs rm -f
rm -rf /usr/bin/rwvyraspcb

全部都干净了,干掉刚才停止的进程。

pkill rwvyraspcb

使用htop再看看进程列表。哦也!干净了!!

来吧,删除病毒本体

rm -rf /lib/libudev.so
rm -rf /lib/libudev.so.6

2015年12月27日更新
今天新配置环境,安装了epel源的htop发现这个病毒又出来!
直接安装杀毒软件!ClamAV

yum install -y epel-release
yum install -y clamav
freshclam #升级病毒库
clamscan -r --bell -i / --remove #全盘扫描

Centos 7 防火墙常用命令

# 查看帮助
firewall-cmd --help

# mask
systemctl unmask firewalld
systemctl mask firewalld

# Enable firewalld
systemctl enable firewalld

# Disable firewalld
systemctl disable firewalld

# 启动防火墙
systemctl start firewalld

# 关闭防火墙
systemctl stop firewalld

# 重启防火墙
systemctl restart firewalld

# 防火墙状态
firewall-cmd --state
systemctl status firewalld

# 重载规则
firewall-cmd --reload

# 关闭FTP服务端口
firewall-cmd  --remove-service=ftp --permanent

# 查询服务是否生效(返回yes or no)
firewall-cmd --query-service=http
firewall-cmd --query-port=22/tcp

# 查看当前绑定网卡
firewall-cmd --list-interfaces

# 查询自定义开放服务
firewall-cmd --list-all

# 开启自定义端口
# 命令含义:
# --zone 			//作用域
# --add-port=80/tcp 	//添加端口,格式为:端口/通讯协议
# --permanent 		//永久生效,没有此参数重启后失效
firewall-cmd --add-port=3128/tcp
firewall-cmd --zone=public --add-port=1688/tcp --permanent
firewall-cmd --zone=dmz --add-port=8080/tcp
firewall-cmd --zone=public --add-port=5060-5061/udp

# 获取支持的服务名
firewall-cmd --permanent --get-services
# 开启服务
firewall-cmd --permanent --zone=public --add-service=ssh
firewall-cmd --permanent --zone=public --add-service=http
firewall-cmd --permanent --zone=public --add-service=https

# 关闭服务或端口
firewall-cmd --permanent --zone=trusted --remove-service=http
firewall-cmd --permanent --zone=public --remove-port=1688/tcp

# 获取支持的作用域
firewall-cmd --get-zones

# 设置默认作用域(默认为public)
firewall-cmd --set-default-zone=public

# 向public作用域添加网卡
# 需要在网卡配置文件添加ZONE=public
firewall-cmd --zone=public --add-interface=em1

# 查询当前所有作用域分别开启的服务
firewall-cmd --list-all-zones

# 查看服务文件
ls /usr/lib/firewalld/services
Read more

Centos 安装vim及设置

[root@MyServer ~]# which vim
/usr/bin/vim
# rpm -qf /usr/bin/vim vim-enhanced-7.0.109-7.el5 # 如果返回的包是vim-minimal.i686,那么新功能都是不带的!
# yum -y remove vim* 
# yum search vim
# yum install vim-enhanced 
cd $HOME
touch .vimrc
vi .vimrc
# 粘贴如下内容
set encoding=utf-8			" 编码设置
set nocompatible            " 关闭 vi 兼容模式

if &t_Co > 1
     syntax enable
endif

# syntax=on					" 自动语法高亮
filetype on					" 打开文件类型检测功能
filetype plugin on			" 允许VIM加载文件类型插件
filetype indent on			" 不同文件类型采用不同缩进
set number                  " 显示行号
set ruler                   " 打开状态栏标尺
set shiftwidth=4            " 设定 << 和 >> 命令移动时的宽度为 4
 
set softtabstop=4           " 使得按退格键时可以一次删掉 4 个空格
set tabstop=4               " 设定 tab 长度为 4
set nobackup                " 覆盖文件时不备份
set backupcopy=yes          " 设置备份时的行为为覆盖
set ignorecase smartcase    " 搜索时忽略大小写,但在有一个或以上大写字母时仍保持对大小写敏感
set nowrapscan              " 禁止在搜索到文件两端时重新搜索
 
set incsearch               " 输入搜索内容时就显示搜索结果
set hlsearch                " 搜索时高亮显示被找到的文本
set noerrorbells            " 关闭错误信息响铃
set novisualbell            " 关闭使用可视响铃代替呼叫
set t_vb=                   " 置空错误铃声的终端代码
set showmatch               " 插入括号时,短暂地跳转到匹配的对应括号
set matchtime=2             " 短暂跳转到匹配括号的时间
 
# set magic                   " 设置魔术
set hidden                  " 允许在有未保存的修改时切换缓冲区,此时的修改由 vim 负责保存
set guioptions-=T           " 隐藏工具栏
set guioptions-=m           " 隐藏菜单栏
set smartindent             " 开启新行时使用智能自动缩进
 
set backspace=indent,eol,start         " 不设定在插入状态无法用退格键和 Delete 键删除回车符
set cmdheight=1						   " 设定命令行的行数为 1
set laststatus=2					   " 显示状态栏 (默认值为 1, 无法显示状态栏)
set statusline=\ %<%F[%1*%M%*%n%R%H]%=\ %y\ %0(%{&fileformat}\ %{&encoding}\ %c:%l/%L%)\        "设置在状态行显示的信息

set helplang=cn					" 显示中文帮助
set autoread					" 设置当文件被改动时自动载入
# set completeopt=preview,menu	" 代码补全

如果提示以下内容:

No Syntax items defined for this buffer
Press ENTER or type command to continue

那是因为没有合适的高亮适配,在配置文件内加入以下内容即可

if &t_Co > 1
     syntax enable
endif

wordpres 实时提交百度

// WordPress发布文章主动推送到百度
if(!function_exists('Baidu_Submit')){
    function Baidu_Submit($post_ID) {
        $WEB_TOKEN  = 'wg257B4A4upzieeu';  //百度主动推送的token值
        $WEB_DOMAIN = get_option('home');
        //已成功推送的文章不再推送
        if(get_post_meta($post_ID,'Baidusubmit',true) == 1) return;
        $url = get_permalink($post_ID);
        $api = 'http://data.zz.baidu.com/urls?site='.$WEB_DOMAIN.'&token='.$WEB_TOKEN;
        $request = new WP_Http;
        $result = $request->request( $api , array( 'method' => 'POST', 'body' => $url , 'headers' => 'Content-Type: text/plain') );
        $result = json_decode($result['body'],true);
        //如果推送成功则在文章新增自定义栏目Baidusubmit,值为1
        if (array_key_exists('success',$result)) {
            add_post_meta($post_ID, 'Baidusubmit', 1, true);
        }
    }
    add_action('publish_post', 'Baidu_Submit', 0);
}

代码来自:http://zhangge.net/5041.html

Archives