手工升级你的WP到3.4

2012年6月12日,WordPress 3.4发布更新,命名为吉他手Grant Green(guitarist Grant Green)。之所以将WordPress 3.4版本称为Green,是为了向吉他手Grant Green表示敬意,因为他深情而朴素的音乐在这个版本的开发过程中一直陪伴着大家。

WordPress 3.4在主题定制、自定义头部、Twitter的嵌入和图片标题等方面有了许多重大的改进。

针对用户的改进

在WordPress 3.4中最大的改进是添加了主题定制器(theme customizer,可以让用户随意更改主题样式,为正在使用的主题进行设置,这一切都不需要保存设置而可以直接预览效果。只要主题支持该功能,那么你就可以更改主题的颜色、背景和头部图片。WordPress在一段时间后有更多关于定制器的改善计划。

在后台的管理中,你将注意到WordPress 3.4的调整将使你对网站的管理更加容易。例如,可以使用媒体库里面的图片来作为自定义头部的图片,并且可以调整头部图片的高度和宽度。

WordPress 3.4拓展了嵌入支持,现在可以嵌入twitter了,不过对大陆用户没什么用吧。在发布文章的时候,只需要将推文的链接放在单独一行就能将推文插入文章里。图片标题也支持了HTML标签的插入,可以在里面加入链接了。

针对开发者的改进

WordPress 3.4很多提升,尤其是在XML-RPC(用于移动开发)、主题、自定义头部和背景API、WP_Query性能提升、多国语言支持等等。

 

但是无奈的是有两个WP博客死活不能自动升级,那么无奈只能用最原始的办法去手工升级了,可见自动化的进程让我们慢慢退化了。

第一步 备份
备份,所有能备份的全部备份,最为站长,无论是升级,降级还是日常,备份都是最重要的。
第二步
去wordpress官网下载最新的wordpress。如果你是中文版的,那么就下载中文版的吧。
第三步
删除FTP中的wp-includeswp-admin目录。
第四步
删除本地最新版的wordpress的wp-config-sample.php文件和wp-content文件夹。然后将剩下的所有文件上传到FTP覆盖。

第五步
运行http://你的域名/wp-admin/upgrade.php,将你的博客地址填入路径中执行升级程序。
第六步
完成然后去把插件启用就OK了!

centos5.X 安装perl环境

一般的Linux上是会自动安装了perl的环境的,但是也难免有些例外。

那么如果是Centos使用yum工具就很简单了,

1
2
3
4
5
6
wget -c http://down1.chinaunix.net/distfiles/perl-5.8.8.tar.bz2
bzip2 -d perl-5.8.8.tar.bz2
tar -xvf perl-5.8.8.tar
./Configure -de
make
make install

使用perl -V 可以查看perl的版本

同样

#!/usr/local/bin/perl
print “hello perl !\n”;

shell监控服务脚本

最近频繁发现服务老是莫名停止,于是写一个简单的监控shell程序,以防在半夜突发情况来应急。

1
2
3
4
5
6
7
8
#!/bin/bash
ria=`ps -ef | grep java | grep -v portalAgent | awk '{if($3==1)print $3}'`
if [ "$ria"=="" ]; then
tdate=`date +%Y/%m/%d-%T`
/home/T3-2.8/2.4ria/riaServer/start.sh &
echo "$tdate >> /home/T3-2.8/2.4ria/riaServer/start.sh &" >> /home/ria.log
fi
exit 0

 

这个脚本修改一下可以完成其他程序的监控,当然也能完善做出来很多事情。其实编程语言只不过是一种工具,何必纠结那个更好,甚至非要争个高下。
在不同的场景用不同的方法才是最高境界,毕竟人是主导程序,而不是程序主导人。

在shell中需要注意的是 if then 语句,在[]中开始和结束需要有空格,否则会出现:
syntax error near unexpected token `then’

Linux SNMP 部署 ——监控宝监控测试

在监控宝找到一个免费体验的服务器监控功能,这里折腾一下。

需要使用 SNMP 协议,我的OS 是centos系统,所以部署十分简单

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
使用源安装
yum install net-snmp net-snmp-devel net-snmp-utils
创建用户,使用MD5加密,用户名 jiankongbao,密码为 snmp@jiankongbao
net-snmp-config --create-snmpv3-user -ro -A snmp@jiankongbao -a MD5 jiankongbao
启动
service snmpd start
加入开机启动
chkconfig snmpd on
使用本机检测
snmpwalk -v 3 -u jiankongbao -a MD5 -A "snmp@jiankongbao" -l authNoPriv 127.0.0.1 sysDescr
出现 
SNMPv2-MIB::sysDescr.0 = STRING: Linux ipxcore 2.6.18-274.7.1.el5.028stab095.1 #1 SMP Mon Oct 24 20:49:24 MSD 2011 i686
表示正常,当然你也可以使用监控宝的测试功能
http://www.jiankongbao.com/labs/snmp
配置 防火墙  现在监控宝开放了两台服务器
iptables -I INPUT -p udp -s 60.195.252.107 --dport 161 -j ACCEPT
iptables -I INPUT -p udp -s 60.195.252.110 --dport 161 -j ACCEPT

Centos搭建SVN服务

SVN服务对于开发者来说实在太重要了,手上有服务器资源,于是近水楼台,哦也。

在centos下搭建相对比较简单

yum -y install subversion

接下来创建我们的软件仓库
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
svnadmin create /home/svn/tmsp
来创建你的SVN仓库。会在tmsp目录下建立多个文件, 分别是conf, db,format,hooks, locks, README.txt
接下来配置你的conf  cd conf
authz  passwd  svnserve.conf
配置文件,svnserver.conf [general]下
anon-access = none
auth-access = write
password-db = passwd
authz-db = authz
 
接下来配置 passwd  用户名=密码的形式
[users]
harry = harryssecret
sally = sallyssecret
配置 authz
[/]
harry =rw
 
要想根据文件夹分权限可以使用
[/文件夹]
sally = rw
 
接下来启动SVN服务
svnserve -d -r /home/svn/tmsp/
或者 
svnserve -d -r /home/svn/tmsp/ --list-port 3333 启动在别的端口

Java学习笔记(1)

Java程序设计概述

简单性

Java的使用就是尽可能的简单易用。

面向对象

面向对象是一种程序设计的技术,它将重点放在数据(对象)和对象的接口上。

网络技能

Java的扩展库中,用于处理HTTP FTP 这样TCP/IP的协议很方便。Java可以处理socket这种复杂的连接如此的简单。

健壮性

Java设计的目标就是让Java编写出可靠的程序。

安全性

从JAVA的发展历程来看,BUG修复非常不错。

体系结构中立

体系结构中立,将Java编译生成字节码后,只要有java环境,就可以执行。

可以移植性

可以执行主要体现在跨平台,不管是UNIX,Windows,etc

解释型

Java解释器可以在任何移植了解释器的机器上执行Java字节码。

高性能

字节码可以在运行时刻快速的翻译成运行这个应用程序的特定CPU的机器码。

多线程

多线程带来更好的交互性

动态性

Java能够适应不断发展的环境。

Java程序设计环境

安装JDK

如何配置Java环境变量。

Classpath

Path

JAVA_HOME

使用java 或者  java –version

Java基本的程序设计结构

注释

//开头的但行注释

/**

* 验证是否为邮箱

*

* @param arg

* @return

*/

多行注释/**/不能嵌套使用

数据类型

Java是一种强类型语言,意味着必须为每一个变量声明一种类型。

整型

类型

存储需求

取值范围

int

4字节

-2147483648到2147483647  2的31次方

Short

2字节

long

8字节

byte

1字节

-128~127

浮点型

类型

存储需求

取值范围

float

4字节

有效为6~7

double

8字节

Eg:34L,34D

char类型

使用unicode编码,可以存取一个汉字。

boolean 类型

只有两个值 true 或者 false

变量

Java中每一个变量属于一种类型(type)

Eg:

double dalary;

int day;

long money;

boolean done;

java变量赋值,使用=

常量,final 使用关键字 final 关键字修饰只能被初始化一次,赋值后不能被改变。

运算符

+ – × /

Eg:x+=4; 等价于x=x+4;

++  —

==  !=  >     >=  <     <=

&  |    &&   ||   ^     ~

exp:exp1?exp2;

>>  <<  >>>

枚举类型

Enmu size{big,small,large}

Size s = Size.MEDIUM;

字符串

String s = “s”;

String s = new String(“s”);

检查字符串是否相等使用 equals  或者 equalsIgnoreCase

输入输出

System.in

System.out.println();

格式化输出   %s     op

大数值

当float 或者 double 不能满足时, 使用对象 BigInteger

 

数组

一维数组,二维,三维……

一个简单的helloword

public class  helloword{

public static void main(String[] args) {

System.out.println(“Hello word !”);

}

}

log4j测试记录

CDR话单工具在变态的RIA多线程下无法实现日志记录,于是只能采用曲线救国日志工具来搞定,本来logback很好用,但是和log4j杂糅起来问题很大,于是干掉logback,采用log4j

历史原因:原来项目采用log4j,所以只好在log4j下搞定

目标,按照小时生成文件,同时按照需求写到不同文件

如此一下只是配置问题

首先查看log4j.properties

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
log4j.rootLogger=INFO,R,stdout
 
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %5p [%F:%L] %c{8}.%M() - %m%n
 
log4j.appender.R=org.apache.log4j.DailyRollingFileAppender
log4j.appender.R.File=f:/logs/ria.log
log4j.appender.R.DatePattern='_'yyyy-MM-dd'.log'
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %5p [%F:%L] %c{8}.%M() - %m%n
 
log4j.logger.S = info,S
log4j.appender.S=org.apache.log4j.DailyRollingFileAppender
log4j.appender.S.File=f:/log/client_uservisit
log4j.appender.S.DatePattern='_'yyyyMMddHH'_0000.log'
log4j.appender.S.layout=org.apache.log4j.PatternLayout
log4j.appender.S.layout.ConversionPattern=%m%n

同时在需要的class取用

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
package com.sxtemobi.cdr;
 
import org.slf4j.LoggerFactory;
 
public class Cdr {
	 static org.slf4j.Logger logger =LoggerFactory.getLogger("R");   
	 static org.slf4j.Logger logge1 =LoggerFactory.getLogger("S");
	public static void main(String[] args) {
		for(int i = 0;i&lt;100;i++){
			logger.error("test log4j");
			logge1.error("==test log4j==");
			try {
				Thread.sleep(1000);
			} catch (InterruptedException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
	}
}

如此以来,轻松实现。

修改pptp默认端口号1723

我们在Linux下建立的pptpd端口号默认是1723,有时候这个端口并不是那么的好用,不是麽?
所以服务端修改端口号比较简单

修改 /etc/services 文件
查找 1723,然后将其修改为你想修改的数值,重启 pptpd即可.

可是客户端,也就是windows自带的VPN拨号该怎么连接了.方法就是也要修改,修改注册表

以管理员身份运行 regedit ,然后查找 如下字段 TcpPortNumber ,查找到了以后,用10进制编辑 该项的值,修改成核服务器端一样的端口号即可.
注册表的项值在 项[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002bE10318}]
下面的一个文件夹中,使用搜索把

新的监控脚本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#!/bin/sh 
ria=$(ps -ef | grep com.palmtx.main.Main | awk '{if($3==1)print $3}')
tdate=`date +%Y/%m/%d-%T`
if [ "$ria" = "" ]
then
	echo "$tdate ria is need start"
	cd /home/2qi_home/riaServer
	./start.sh &
	echo "$tdate ria is need start" >> /home/ria.log
else  
	echo "$tdate ria is not need start"
	echo "$tdate ria is running and don't need start" >>/home/ria.log
fi
exit 0