5月 9th, 2008resin-pro-3.1.6第一时间提供破解下载
resin-pro-3.1.6在5月5号已经正式发布,这次不再先发布一个dev版了。
第一时间提供破解下载 :
resin-pro-3.1.6.zip 下载 (10.6M)
resin-pro-3.1.6.tar.gz 下载 (10.6M)
我会及时破解Resin的最新版本!
resin-pro-3.1.6在5月5号已经正式发布,这次不再先发布一个dev版了。
第一时间提供破解下载 :
resin-pro-3.1.6.zip 下载 (10.6M)
resin-pro-3.1.6.tar.gz 下载 (10.6M)
我会及时破解Resin的最新版本!
虽然resin-pro-3.1.5早在2月26号就发布了,但一直标记为dev,今天发现已经不是dev了,赶紧下载回来破解。
此次破解的跟上次的3.1.3一样,功能上完全没有任何限制了,可以使用session持久化、cache等,只需要做好相关的配置即可。
3.1.5的Change Log请看官方文档:Resin Change Log,同时可以看到3.1.6 snapshot了。
我会及时破解Resin的最新版本!
在mysql中使用默认字符集为utf8,结果想要把中文按拼音排序出现了问题,排出来的顺序乱七八糟,不是我们想要的结果。
解决办法如下:
1、不想改变表定义及默认编码的情况,将字段先转换成gbk编码再排序:
SELECT * FROM table ORDER BY CONVERT( chinese_field USING gbk ) ;
前提是在安装mysql时安装了gbk字符集,不然会报错:
#1115 - Unknown character set: 'gbk'
在编译源码时加上gbk编码即可,如果已经安装好了,重新编译再安装,重新编译安装一般不会影响mysql的已有设置,包括数据都不会受到影响。
2、直接将字段的字符集改成gbk,然后直接使用order by 排序即可。
mysql 5.x支持某列单独定义字符集。
3、网上也有人说将字段定义加上binary属性也能达到效果,未作测试,不敢评论。
mysql的文档中也提到字符集校对规则:
SELECT * FROM t1 ORDER BY a COLLATE utf8_bin;
但此仅仅只影响校对规则,并不影响字符的字符集本身。
网上有很多关于Ubuntu 7.10 desktop下安装vmware的文章,但没有一个关于在server下安装的文章。经过研究,终于将vmware server 1.0.4安装到了Ubuntu 7.10 server下,安装过程如下:
1、必要条件
安装linux头文件,在后面的步骤需要,不然安装会不成功:
apt-get install linux-headers-`uname -r` build-essential (注意`uname -r`中的`不是单引号)
apt-get install xinetd (vmware的启动由xinetd负责,如果已经安装,则不需再安装了)
安装一些server版没有的包:
apt-get install libx11-6 libx11-dev x-window-system-core x-window-system xspecs libxtst6 psmisc
网上也有人说安装如下包也可以,本人未作测试:
apt-get install xorg-dev
2、开始安装:
安装具体步骤请见:http://www.helloyesok.com/2007/11/12/install-vmware-server104-ubuntu710.html
安装过程中如果提示找不到头文件目录,则手工输入:/lib/modules/2.6.22-14-server/build/include,根据你的具体版本不同,2.6.22-14-server目录名称可能也会有所不同。
3、安装后
如果安装后启动不了,则再次运行vmware-any-any-update113目录下的runme.pl,重新配置一遍vmware。
打开防火墙的902端口,就可以在windows中的vmware server console连接了。
由于种种原因,resin有时会遇到resin down机的情况,比如:java.lang.OutOfMemoryError。这样的问题如果从代码角度来解决问题,也不是一时半会能解决的,应急解决方案是启用resin-pro的ping功能。
<resin:if test=”${isResinProfessional}”>
<ping>
<url>http://localhost:8080/ping.jsp</url>
<sleep-time>1m</sleep-time>
<try-count>5</try-count>
<socket-timeout>30s</socket-timeout>
</ping>
</resin:if>
ping.jsp可随意写一些代码,纯html代码也行,只能服务器能响应返回200。
如果访问resin访问http://localhost:8080/ping.jsp返回不是200 code,然后再重试try-count次,如果依然不响应200,则将自动重启resin服务。
如果在resin tag下配置了:
<system-property mail.smtp.host=”127.0.0.1″/>
<system-property mail.smtp.port=”25″/>
还可以让resin自动给你发个邮件通知你它自动重启过了:
<ping resin:type=”com.caucho.server.admin.PingMailer”>
<url>http://localhost:8080/ping.jsp</url>
<mail-to>fred@hogwarts.com</mail-to>
<mail-from>resin@hogwarts.com</mail-from>
<mail-subject>Resin ping has failed for server ${’${’}server.name}</mail-subject>
</ping>
这样配置好了,不管resin出现什么故障,只要resin进程不死,就可以放心睡大觉了。
如果还启用了resin的session持久化存储,用户基本感觉不到服务已经重启过了。
如果启用了resin的cluster,那么请修改httpd.sh,将-server参数加上,不然重启resin后是没有cluster的。
当然,这此功能都是resin-pro版提供的,免费版不支持ping,也不支持session持久、cluster。我已经破解了resin-pro版,可放心启用这些功能,并且将及时破解resin发布的最新pro版本。
关于resin破解,请查看<<破解resin-pro-3.1>>
网页标题的写法还需要专门讨论?
满足下列条件就需要:
1、当你的网页编码是UTF-8
2、标题是中文
如果1和2都满足,必须要将标题放在编码定义的下面,不然IE显示一片空白,而FireFox下没问题。
下面的写法在IE中显示一片空白,FireFox下正常:
<title>意见反馈 — 网络收藏夹 在线密码管理 自动登录所有网站–豌豆网(onedoor)</title>
<meta http-equiv=”Content-Type” content=”text/html; charset=UTF-8″ />
这种写法才是正确的写法:
<meta http-equiv=”Content-Type” content=”text/html; charset=UTF-8″ />
<title>意见反馈 — 网络收藏夹 在线密码管理 自动登录所有网站–豌豆网(onedoor)</title>
没想到IE是如此的“不聪明”,而在做网页时最好按照规范来做。
或许,使用工具写html也是一个不错的主意…
在windows下正常运行,并能正确发送邮件的代码,移植到linux(ubuntu 7.1)下却出现了问题:
java.lang.NullPointerException
at java.lang.String.concat(String.java:1827)
at com.sun.activation.registries.MailcapFile.parseLine(MailcapFile.java:235)
at com.sun.activation.registries.MailcapFile.parse(MailcapFile.java:197)
at com.sun.activation.registries.MailcapFile.createMailcapHash(MailcapFile.java:157)
at com.sun.activation.registries.MailcapFile.<init>(MailcapFile.java:40)
at javax.activation.MailcapCommandMap.loadFile(MailcapCommandMap.java:276)
at javax.activation.MailcapCommandMap.<init>(MailcapCommandMap.java:128)
at javax.activation.CommandMap.getDefaultCommandMap(CommandMap.java:44)
at javax.activation.DataHandler.getCommandMap(DataHandler.java:136)
at javax.activation.DataHandler.getDataContentHandler(DataHandler.java:568)
at javax.activation.DataHandler.getContent(DataHandler.java:501)
at javax.mail.internet.MimeBodyPart.updateHeaders(MimeBodyPart.java:1253)
at javax.mail.internet.MimeMessage.updateHeaders(MimeMessage.java:2012)
at javax.mail.internet.MimeMessage.saveChanges(MimeMessage.java:1980)
at org.springframework.mail.javamail.JavaMailSenderImpl.doSend(JavaMailSenderImpl.java:381)
at org.springframework.mail.javamail.JavaMailSenderImpl.send(JavaMailSenderImpl.java:326)
at org.springframework.mail.javamail.JavaMailSenderImpl.send(JavaMailSenderImpl.java:322)
at com.nes.util.OneDoorMailSender$MailSender.run(OneDoorMailSender.java:310)
at java.lang.Thread.run(Thread.java:595)
经查看java doc(http://java.sun.com/products/javabeans/glasgow/javadocs/javax/activation/MailcapCommandMap.html)发现,在用户的根目录下有个隐藏的.mailcap文件:
-e
# Java Web Start
application/x-java-jnlp-file; /usr/local/java/jre/bin/javaws %s
原来最前面有个-e的东东,与java doc描述不符,注释掉这行,然后发送邮件成功。
附:
mailcap 文件搜索顺序:
MailcapCommandMap 在用户系统的各个位置查找 mailcap 文件条目。当发出请求以搜索 MailcapCommandMap 中的命令时,它以下面的顺序搜索 mailcap 文件:
.mailcap 文件。/lib/mailcap 文件。META-INF/mailcap 的文件或资源。META-INF/mailcap.default 的文件或资源(通常只存在于 activation.jar 文件中)。mailcap 文件格式:
# 注释以 '#' 开头并延续到行的末尾。
<mime type>; ; <parameter list>
# 其中参数列表由一个或多个参数组成,
# 其中参数类似于:x-java-view=com.sun.TextViewer
# 参数列表类似于:
纯文本; ; x-java-view=com.sun.TextViewer; x-java-edit=com.sun.TextEdit
# 注意,不包含 'x-java' 参数的 mailcap 条目
# 和遵守 RFC 1524 的条目将被忽略:
image/gif; /usr/dt/bin/sdtimage %s
#vi /etc/syslog.conf
加入以下行:
local7.* /var/log/firewall/firewall.log
然后按照网上前人的经验,将/etc/init.d/sysklogd中的
SYSLOGD=”"
修改为:
SYSLOGD=”r”
再重启syslog:
/etc/init.d/sysklogd restart
发现514端口没打开。
再修改:
#vi /etc/default/syslogd
SYSLOGD=”"
修改为:
SYSLOGD=”-r”
#tail /var/log/messages
出现:
Jan 5 00:35:05 dingl-ubuntu syslogd 1.4.1#21ubuntu3: restart (remote reception).
说明syslog可接收外部日志了。
配置防火墙可从514端口接收外部日志:
/sbin/iptables -A INPUT -p udp –dport 514 -j ACCEPT
重启防火墙。
在远程设备上设置将日志发送到syslog服务器。
#tail /var/log/firewall/firewall.log
成功发现日志,配置成功。
在网上查看了很多关于resin性能的文章,比较公认的说法是resin比tomcat的性能要高很多。
但最近在csdn上看了一篇文章,说resin 3.x的免费版与tomcat性能已经不相上下了。原因有两个:
1、tomcat从5.0后就开始在性能上不断改进,以达到生产环境的要求;
2、resin从3.0开始分为免费版与pro版,更多的性能改进被放到了pro版中了,所以免费版的性能就下降了。
基于这样的一些原因,更由于resin的pro版支持session持久化存储、负载均衡及cache等高端特性,于是对破解resin pro版产生了兴趣。
经过N个夜晚的奋战,终于把这个pro版给破解了。
网上也有人说破解得不好的resin pro版可能会使性能下降,个人感觉不存在这样的问题,只要破解了即可享用pro版的各种特性,性能也有大幅提高。
以下的resin启动的部分输出:
Resin Professional 3.1.4 (built Tue, 04 Dec 2007 11:27:12 PST)
Copyright(c) 1998-2007 Caucho Technology. All rights reserved.
Starting Resin on Mon, 31 Dec 2007 17:18:52 +0800 (CST)
[17:18:53.640] {main} Proxy Cache disk-size=1024M memory-size=64M
[17:18:53.656] {main} PingThread[] starting, checking []
[17:18:54.109] {main}
[17:18:54.234] {main} Windows XP 5.1 x86
[17:18:54.343] {main} Java 1.5.0_11-b03, 32, mixed mode, GBK, zh, Sun Microsystems Inc.
[17:18:54.468] {main} user.name: dingl
[17:18:54.593] {main} resin.home = C:\resin-pro-3.1.4
[17:18:54.718] {main} resin.root = C:\resin-pro-3.1.4
[17:18:54.828] {main} resin.conf = /D:/workspace/project/resin-3.1.conf
[17:18:54.828] {main}
[17:18:55.734] {main} WebApp[http://localhost:80] Set web app root system property: ‘webapp.root’ = [D:\workspace\project\WebContent\]
[17:18:59.515] {main} WebApp[http://localhost:80] active
[17:19:00.171] {main} WebApp[http://localhost:80/resin-doc] active
[17:19:00.390] {main} WebApp[http://localhost:80/resin-admin] active
[17:19:00.500] {main} Host[] active
[17:19:00.640] {main} Socket JNI library is not available.
[17:19:00.640] {main} Resin will still run but performance will be slower.
[17:19:00.640] {main} To compile the Socket JNI library on Unix, use ./configure; make; make install.
[17:19:00.796] {main} hmux listening to localhost:6800
[17:19:00.921] {main} http listening to *:80
[17:19:01.140] {main} Server[id=,cluster=app-tier] active
[17:19:01.281] {main} Resin started in 9547ms
可以看到已经没有关于license的提示了,并且增加了Proxy Cache disk-size=1024M memory-size=64M的输出,说明已经使用了cache来提高性能。
值得一提的是,要想获得更好的性能,请使用linux/unix系统,因为在windows下,默认安装的resin是不能使用JNI库的,需要手工编译。而在linux/unix下,make源码后就已经将JNI库编译好了。这个特性可以从输出中看出来:
[17:19:00.640] {main} Socket JNI library is not available.
[17:19:00.640] {main} Resin will still run but performance will be slower.
linux/unix系统中没有这样的提示。
目前本blog提供resin-pro-3.1.3版的下载,地址为:
resin-pro-3.1.3 for windows 下载
resin-pro-3.1.3 for linux/unix 下载
resin-pro-3.1.4由于目前标记为dev,暂不破解此版本。3.1.5目前正在开发,尚未发布,目前已经可以看到3.1.5的change log了。
Ubuntu 7.1 Server安装后的配置
Ubuntu 7.1 server从无到有搭建全能WEB生产环境(一)
Mysql、Apache安装配置
Ubuntu 7.1 server从无到有搭建全能WEB生产环境(二)
PHP安装配置
Ubuntu 7.1 server从无到有搭建全能WEB生产环境(三)
JDK、Resin安装配置
Ubuntu 7.1 server从无到有搭建全能WEB生产环境(四)
Rails运行环境Mongrel安装配置
Ubuntu 7.1 server从无到有搭建全能WEB生产环境(五)
SSL配置
Ubuntu 7.1 server从无到有搭建全能WEB生产环境(六)
防火墙iptables配置