blogger的东西确实很不错,一直想用,但由于种种原因导致了其服务经常不能访问。确实对我这样的google爱好者打击不小。目前的blogspot的服务还是比较稳定的,但blogger的发布和编辑文章和设置,布局的功能不是很稳定。原来还考虑过放弃这么好的服务。不过,突然想起来 ,blogger可以通过gmail邮箱(其他的邮箱也可以)来写文章,发布到blogger。做好很简单,只要在"设置" -> "邮箱" 中设置一个邮箱,就可以将你的"邮件"(也就是博文)发不到blogger中。gmail的邮件系统又是非常稳定,高效的。(本人的大部分工作都是在google的平台上完成的)。还可以用html 排版,发上图片。非常的方便,快捷。

经过测试,图片可以通过采用附件方式来发送。还有,邮箱中的梦幻表情不能使用,在blog中显示为图片不能显示。(可能是两套系统不同的缘故吧)

参考链接:

How do I post via email?

How is HTML handled in Mail-to-Blogger?


=================
hzchenkj.blogspot.com
我的签名我做主!

http://www.projectcartoon.com/

这个网站上有好多的项目管理的卡通。还有1.5 版本,现在发展到了2.0的版本,还有好多的语言版本。

发件人 hzchenkj


讲得是项目工程中,用户需要的,架构师设计的,到真正实现的系统的差别。这个蛮有意思的。

我学习linux的过程

突然看到我的文章,两年前写的文章,换过好多个blog,自己的文章也不知道写到哪里去了。在这个网站还看到了我的文章转载,但也没有注明是我写得。不过我还是比较开心的,呵呵,随便些的一个学习过程,人家还能收录。

http://www.kuqin.com/linux/20070907/928.html


看上了redhat的高效稳定和开源的方便,准备开始学习centos。以前用过redhat 7.2的系统,还买了所谓的‘正版’光盘,算是对开源事业做贡献了,哈哈,还有个珍藏!

使用了一下centos 5,发现从功能上和使用性上都有很大大改进。用过很多的发行版,从redhat 7.2 -> debian -> ubuntu -> freebsd ->gentoo -> archlinux -> centos。一路走来,发现各大发行版在功能上都差不多,唯一不同的就是包管理机制。rpm ,deb,tarball ,各有各得好处。各有存在的原因,也没有必要讨论哪个发行版好,哪个不好,适合自己的就是最好的。毕竟系统是拿来用的,不是用口水堆积起来的。

这里讲讲我的对各个发行版的使用感受,对初学者的发行版选择提供一个参考。不过这些只是我个人的感受。只要选择一个系统,好好的研究就ok了,因为都是linux,都差不多的。

redhat 7.2:第一次接触的linux的发现版,发现linux的系统很难用,从分区,选择包,配置x,安装包,每次都会碰到问题,解决问题也比较麻烦,没有地方请教哦。那时候有几个linux社区,linuxsir,linuxeden。不过学的人也不多,呵呵。不过redhat还是比较适合初学者的一个版本,那时候也没有什么好的版本了,叫人家推荐的话,都是推荐这个版本的。要现在的话,肯定推荐初学者学习使用ubuntu,很不错的一个系统,下面待会再说。那时有这样一种说法,会安装一个系统,就等于学会了一般。呵呵呵,也算是半个linux黑客了。

debian: 在上班后,发现技术总监使用的是debian,服务器和工作机子都是用debian的。看来是一个很不错的系统。特别对那个虚拟桌面的非常着迷,可以在 1024*768的桌面上配置出很高的分辨率,自己请教后,也装了一个,鼠标移来移去的,感觉有点头晕,因为看不到整个桌面的概貌了。这个适合那些17寸的机子。在我买了19寸宽屏后,就将这个功能去除了,还是正真的宽屏爽哦。发现apt-get的包管理机制很不错,什么东西都只要apt-get一下就 ok了。一位学友说:就像超市一样,想要什么自己拿。cn99的debian的源的速度也是一流的。到目前位置,也不知道它能提供怎么高的速度,实现的原理是什么?不会是p2p的技术吧?

ubuntu:后来有学友推荐使用ubuntu,好像是ubuntu的第一个发行版。5.04 ,用了之后,基于debian的,很方便,学习起也没有跨度。那时候的一个问题就是没有一个像样的国内源。速度跟龟速一样。就考虑用cn99的 debian源来充数。当然,有很多的软件无法通用。那时候,认定我就一直用ubuntu了。也从国外要了几份光盘,不过自己只留一份,其他的都分发个同事和好友,也算是对ubuntu的推广吧。

freebsd:后来发现ubuntu的速度让我接受不了,所以准备换个发行版。当然,gentoo的速度是一流的。但网上说安装很是麻烦,也下载下来自己安装了几次,看英文文档,还是没有安装成功。听说要安装好几天,也就没有那个心思来折腾了,听说freebsd的的性能也不错,6.2的改进也很大,所以就下个玩玩了。安装的时候发现freebsd的自己的分区格式,郁闷了一段时间,不过使我对分区有了更深的了解。portage包管理确实很不错。最后,发现freebsd的程序不多,要运行linux的程序,需要安装一个兼容linux层。还有jdk的安装也比较麻烦。

这次准备好好静下心来研究一个系统,看上的red hat系统rhcs,很不错的开源集群方案。
还有就是对oracle的支持,是oracle的首选系统平台。据说oracle自己推出来的系统也是基于redhat的。

YSlow for Firebug

YSlow,这个是何许人也?看名字,Why Slow?就知道是个性能分析的工具。
这个是官方的介绍:
YSlow analyzes web pages and tells you why they're slow based on the rules for high performance web sites. YSlow is a Firefox add-on integrated with the popular Firebug web development tool.

Steve Souders 是 Yahoo! 的前 Chief Performance Yahoo!,去年跳槽至 Google,专门致力于研究网站前端性能问题,主导开发了 YSlow 前端检测诊断工具,并撰写《高性能网站建设指南》(High Performance Web Sites: Essential Knowledge for Front-End Engineers)一书,为迷途的羔羊们指示通往天堂的路。 这一段是知道分子介绍的。

安装的时候,需要先安装firebug,然后在安装yslow的插件,就可以对页面进行分析的。使用了这个工具后,可以对前端页面进行直观的分析了。开发工程师为了方便,直接将所有的js引入到页面,导致页面的byte数急剧膨胀,性能不差也不行阿。
YSlow下载地址: http://developer.yahoo.com/yslow/
Fire下载地址:http://getfirebug.com/


High Performance Web Sites
Essential Knowledge for Front-End Engineers

By Steve Souders
September 2007
Pages: 168
ISBN 10: 0-596-52930-9 | ISBN 13: 9780596529307

大家有没有使用Google的在线产品来做的。本人想使用Gmail,Google Calendar,Google NoteBook,Google Reader ,Google Docs ,BookMarks等产品来组合一个强大的项目管理系统。还有最新推出的Gtask 来做to do list确实非常不错。
Google 的有几各特点:
安全 :google的分布式文件系统 大家都知道,绝对安全。而且google 的理念 不做恶 大家应该可以放心。
速度快,比起其他的在线的 速度确实不错
用户体验好 :呵呵,这个就不用说了。
一些好的文档,ppt,pdf 都上传到google doscs上,随时随地可以在线看,不用安装任何东西,只要一个浏览器,方便。不过,没有网络的条件,就麻烦了。但基本大家应该都是会有互联网的接入的吧

我把公司的邮箱转发到gmail中,所有的内容都汇总到gmail。作为收集箱吧。(要不要考虑采用notebook)。要采取下一步的行动的,就分类,整理,放到gTask中。一些日程安排可以放到Google Calender来处理,到时间了(提前一天吧)就会有邮箱的提醒。然后也可以归入到todo list中。据说还有短信提醒,这个我是没有用过,本人大部分时间都是在电脑前面。感觉自己买得S1 好像有点浪费了。而且跟我的苹果同步起来也比较麻烦。这个也是一个原因吧,要跨平台使用的,所以采用web方式的在线系统是最方便的。

本人工作的大部分都放到了google上,确实不错,但感觉还是没有建立一套完整的体系,有时还是有点混乱。希望各位能给与帮助,指点。

Oracle的 客户端,要全部安装的话,需要有600M的空间,对大家的网络速度和机子速度都是重大的考验。
这里推荐两种做法:
1 安装SQL Developer,需要java环境,采用jdbc连接,通过增加jdbc驱动,可以管理各种数据库,包括Oracle,MySQL,SQL Server,Access等数据库,安装使用方便
2 对于一定要使用PL/SQL的,Oracle的提供了一种简单的安装配置方式,请下载最新的Oracle instance client 安装包,各种平台版本下载地址:

http://www.oracle.com/technology/software/tech/oci/instantclient/index.html

下面是安装配置过程:(在Linux,Mac OS X,Windows 基本上都是相同的)
将 instant client 解压到C:\oracleInstantClient (最好不要加空格)
1.SET PATH=C:\oracleInstantClient
2.SET TNS_ADMIN=C:\oracleInstantClient
3.新建一个tnsnames.ora,然后填入
for example:
oracle =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.20)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = orcl)
)
)
#上面的oracle是一个别名,可以随意指定
#orcl为oracle的instance 名称
#host 为oracle的主机,最好能用
主要的有三个文件,tnsnames.ora sqlnet.ora listerner.ora

4.SET LD_LIBRARY_PATH=c:\oracleInstantClient

5.如果要安装SQL plus那么需要设置SET SQLPATH=c:\oracleInstantClient
6.如果查询结果为乱码,设置set NLS_LANG=XXXX(我自己是SIMPLIFIED CHINESE_CHINA.ZHS16CGB231280) 中文
测试方法:select '测试中文' from dual


12 22日,金山发布了for Mac OS X的测试版本

下载地址: 立即下载体验

Django学习笔记(一)

Django是何物?是Python语言的一个web MVC框架,在JAVA 界对应的就是Struts、Webwork等web框架。

这里是官方网站:http://www.djangoproject.com/

btw:网站的整体风格是绿色,很是养眼,个人非常喜欢,呵呵,还有这个标志
12101220080

========================================================

1 最最第一步,是要准备好python环境,

在Max OS X 10.5.5 默认就安装好了python语言环境,可以通过python -V 命令来查看版本。

2 然后就获取django,开始安装框架。
Option 1. 获取最新的官方发布版本

目前最新的官方版本是1.0.

首先, 下载 Django-1.0.tar.gz. 然后:

$tar xzvf Django-1.0.tar.gz
$cd Django-1.0
$sudo python setup.py install

Option 2. 获取最新的开发版本

最新的开发版本是在svn版本库中. 通过命令行获取,需要Subversion:

$svn co http://code.djangoproject.com/svn/django/trunk/ django-src

$cd django-src

$sudo python setup.py install

这样djangoweb框架就装好了。

3 生成项目目录

$django-admin.py startproject myblog

下面就会有四个文件,

__init__.py
manage.py
settings.py
uls.py

4 启动自带的web服务器

$python manager.py runserver

就可以通过浏览器访问http://127.0.0.1:8000/了。

5 mysql环境准备

前面一篇blog文章已经安装和配置了MySQL,要让我们的Django框架顺利使用上MySQL ,还需要安装一个MySQLdb的组件,从这里下载:

http://sourceforge.net/projects/mysql-python

$tar zxvf MySQL-python-1.2.2.tar.gz

$cd MySQL-python-1.2.2

修改_mysql.c,将

/*
38 #ifndef uint
39 #define uint unsigned int
40 #endif
41 */

注释掉,然后build的时候会出错

然后就开始build

$python setup.py build

$sudo python setup.py install

这样就安装好了mysql-python模块。

大家看到这个题目,都会觉得比较绕口。这个课程的主要听众就是我们这些非人力资源部门的员工。在丁坚老师讲解了非人力资源部门参与人力资源管理的重要性后(还是比较绕口^_^),就知道了他提出这个题目的目的了。

以下是我整理的笔记和一些心得:

整体上,课程内容分为“道”和“术”来讲,“道”描述了对人力资源的基本的和常用概念与非人力资源的角色认知,是一些比较抽象但比较重要的内容,也就是大家所说的中心思想。“术”是老师总结的一些常用的经验和解决方法。主要讲解了选拔、培训、考核和留下人才的一些基本方法。我觉得跟我们公司的文化“ 道”、“术”和“魂”很像。

开始讲了企业中对人才使用的一些误区。人力资源,一听名字就认为是拿来利用的,等到没有利用价值了,就拜拜了。这个也往往是员工离开公司的原因拉。正确的解释是,人才,是一种资本,需要去开发,让他慢慢增值的,只有员工成长了,企业才可以成长。而且要做到“8分人才,9分使用,10分待遇”,只有为员工设定较高的目标,让他跳一跳达到目标,才能让他不断的成长。然后点出了企业管理之道:敬人者,人恒敬之(也包括对员工身边的人)。举了一个例子,在 2005年的中秋和国庆双节的时候,公司老总把月饼快递到员工的老家,效果出奇的好。是公司花的钱都长生了价值,解决了在中秋发月饼的问题(发和不发都不好)。

管理者需要具备的素质和条件,总结为:德、才、学、精、力。

德,主要是强调了一点,身教大于言传。大家要用实际的行动。

才,需要如下的能力:

1 订立目标,在月底把计划贴出来。

2 分解计划,下放到员工。

3 然后 激励 。

4 行为纠偏 不断的调整。 力,就是要有体力 ,有激情。

主管 如何与人力资源部配合

1 要熟悉公司人事管理制度与作业流程。

2 尊重人力资源部门的专业性,不然很多工作就不好开展。

3 身教大于言传。

4 主动承担部门内部的人力资源的工作。

提到了一个重要的基本概念:所有直线经理首先是本部门的内部人力资源经理,然后才是本部门的业务经理。

===================

在选拨过程中,要树立几个正确的理念(也是我自己平时在面试中经常会犯的问题,需要自己好好的注意了)

1 最好的不一定是最合适的。只有选择了合适的人才,到合适的岗位,做正确的事,才能让他在岗位中发挥作用。

2 坚持用人之长。每个人都有一定的唱出。

3 学历不代表能力,经历不等于经验。考察经验的方法,就是出一个问题,能提出几种解决方法?

4 强调企业文化的认同感。

5 企业与应聘者之间的互动营销。只有招聘者认真负责,才能让应聘者有很好的感觉,让企业在人员心中留下良好的口碑。

6 宁缺毋滥

7 最后,要记住一点,招聘工作只有开始,没有结束。平时要多观察,可以随时随地的选拨人才。

===================

需要有一个规范的企业面试流程

1 与人见面,面带微笑,起身欢迎,给应聘者留下美好的第一影响。

2 递名片,自我介绍。往往忽视了这一点,最后,人家来上班了,发现人家还不知道我叫什么恩。^-^

3 介绍此次招聘的流程。(几轮,流程等)

4 简要介绍公司及产品概况(需要标准话,忌每个人口中的描述不一样)

5 介绍 招聘职位的主要职责。(这些都要核实,以免引起不必要的浪费)

6 核实证书原件。(越早越好,等到过来上班了,才发现这些问题,就等于前面做得工作都是浪费哈)

7最后尊重应聘者,让机会给他提问。说明何时通知最终结果。(不要当场就决定)承诺对应聘者的情况保密。

===================

学会结构化的面试 六种题型,背景性、意愿性、情境性、压力性、智能性、行为性题目。

要多问行为,而不是观点,采用STAR(situatioin 情况,task 任务,行动 action ,结果 result)如:请举出你过去一件事,以证明你具备“主动性”的心态。多问过去的真实行为,而不是假设的场景。通过追问,分析事情的真假。适当询问失败的行为事例,

===================

员工的培训 当好教练 ,三种方式

education教育 培训员工的知识(容易忘记),如产品介绍,规则制度等,需要考试的方式来强化

tranining训练 改变员工的技能和行为(开车,游泳,不会忘记) 反复演练

learning学习 改变员工的态度与意愿,责任感、敬业度,不过多讲解,自主学习模式,自我改进,自我感悟。

======================

如何迎接新人,一个字,忙。每个新来的员工都是有一定的表现欲,可以测试其在高压力状态下的表现。适应新环境,正确的引导。

平时要紧盯过程,要知道人之初,性本懒。没有附带处罚的要求是无效的。员工不会做你希望的,要不断检查的,执行力是检查出来的。需要 至上而下的行为纠偏,之下而上的主动反馈。

==============

需要组织面谈:

1 准备充分 2 双向沟通,多问少讲 3 问题诊断和辅导并重。4 不要谈论过去,要发展未来 5 面谈是一个持续的过程。

成立考核推行小组:

1 设立跨部门的小组负责实施考核发现的问题与改进 2 在业务处理时间外执行 3 小组成员自愿参加 4 成立专项基金来奖励

================

在留人方面,找出员工最大的需求,灵活掌握,按需奖励。做到因人而异,给其最好的,不如给其最需的。都夸奖和赞美员工。“人之欲,施予人”。

通过老师的指点,发现自己工作过程发生了很多的误区,希望自己平时多注意,多关注,多观察,多准备,并多回顾,多总结。温故而知新。培养员工技能的同时,要教会他学习的方法,做人的态度。

这里,突然想到了一个比喻:学会放羊。

让羊草地上自由自在的吃草,心情才舒畅。不能多加约束,套上绳子,那羊吃得累,看羊的人呢,管的累。最后结果导致,羊没有吃饱,没有达到目地。对遵守规则的羊,要给与奖励。对不遵守规则的羊,走到其他地方的羊,要进行行为纠偏,不然,这只羊就会越界,到其他地方吃草,然后其他的羊也会跟着到其他地方吃草(从众心理)。但事先要告知外界的高压线,越界了要给与适当的惩罚。没有告知呢,是管理者的错。不知道这样描述对不对。

接到电话,要将山西太远教育局的应用的数据 导入到 本地来,做测试和分析用。跟工作人员联系后,得知那边采用的是Oracle的数据库,而且不能远程登录操作,使用QQ的远程桌面也无法链接后,就只要我写操作命令给对方,让他在那边操作。

开始人家提出要把Oracle的相关的所有数据拷贝过来,我吓一大跳,那怎么行?要拷贝的东西很多哈,什么数据文件,控制文件,日志文件,还要记录那边的目录结构,我这边才能还原那边的环境。要是你拷贝的时候,把一些东西少拷了,那一来一回,不是还要浪费更多的时间,所以拷贝物理文件来还原的方法就不推荐了。况且人家那边连目录结构都不是很清除的。

然后人家又提出有PL/SQL developer 的图形界面工具要到,那个我可是没有用过哈。还是用命令的比较方便。叫对方用cmd,用sqlplus。然后就使用expdp命令来导出数据了。不过,对方的服务器上这个命令却执行不了。后来叫他截图过来看了,居然是Ora 9的数据库,当然没有expdp的命令,只有exp的拉。发给他一个命令

exp username/password file=google.dmp owner=user

导出了数据。通过ftp传到本地后,

在导入的时候

imp username/password file=google.dmp fromuser=user

提示说:

IMP-00010: not a valid export file, header failed verification

最后发现是在命令行使用ftp命令的问题,没有采用二进制格式传输。所以希望大家在传输时,最好能讲这个文件先压缩成.zip文件,在linux这边获取后用unzip 来解压。还有,那边的环境是winows的。问了那边的系统管理员的,也就是所谓的DBA,居然什么都不知道,就只知道用那个图形工具来备份系统。

再次导入,居然还是有问题:

IMP-00032: SQL statement exceeded buffer length

呵呵,这个问题还办,是由于在导入的时候,使用的是默认的buffer参数,不够长了。加上参数继续

imp username/password file=google.dmp fromuser=user buffer=100000 logfile=imp.log

这样可以记录日志,过后再来看导入的情况。

IMP-00003: ORACLE error 959 encountered
ORA-00959: tablespace 'SMSH' does not exist
IMP-00017: following statement failed with ORACLE error 959:

居然又有错误,看来是表空间没有建立。网上搜索了下,发现说加上参数touser=user就可以了,但我这边还是会存在959的提示。不知道怎么搞的。

那就只有重新创建表空间,创建用户,指定默认的表空间。继续,成功了哈。

过程比较曲折,结构比较简单。这里对自己的这次导入导出问题,写个总结,提醒自己,有些流程还是做好,比如要获取对方的数据库版本,操作系统等信息,这个还是必要的。还有就是要对dmp文件进行压缩,压缩比还是比较高的。希望以后自己导入能比较顺利哈。

Java 是SUN 公司的产品,当然会觉有Unix的一些风格:就是安装、配置非常的方便。只要拷贝文件目录再加少许设置就OK了。这可是真真的绿色软件阿,而且是开源的,什么都给你了,看你怎么来使用了。

首先,需要下载这些软件包或从已经安装的环境copy一个也行。

jdk 可以到java.sun.com网站下载,这个是SUN公司的。还有一个是 被Oracle收购的Bea的Jrockit,性能非常不错,而且在收购后,改变了策略,可以免费使用。主要还提供了来监控内存和调优的工具等。

jdk的版本有32位和64位的区别。32位的有个限制条件:就是内存只能设置到1.5G 左右,跟具体机子配置有关。可以使用
java -Xmx2G -version 来测试 ,你的服务器或系统支持多大的jvm内存

>java -Xmx2G -version
java version "1.5.0_16"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_16-b06-284)
Java HotSpot(TM) Client VM (build 1.5.0_16-133, mixed mode)

$ java -Xmx3G -version
Error occurred during initialization of VM
Could not reserve enough space for object heap
Trace/BPT trap
这说明我的机子,可以支持2G的内存,但不能支持3G的。这个还可以继续测试,可能是2.5G ,或是2.9G 。不过,其实内存不是设置越大越好的,大了的话,jvm的垃圾收集器运行起来会比较累。一般的机子,设置为1.5G比较好。

win下目前最新的是jdk-6u10-windows-i586-p.exe. linux下有两种文件格式的,jdk-6u10-linux-i586.bin ,还有一种是rpm的,是RedHat linux的一个安装包格式。

win下的安装非常的简单,直接双击,按照向导输入安装路径就可以了。最好路径中不要带中文或是空格,不然有些莫名奇妙的问题会让你郁闷的。

linux的安装有点麻烦(其实我觉得更简单),

$chmod a+x jdk-6u10-linux-i586.bin #切换到执行的权限模式

$./jdk-6u10-linux-i586.bin 执行安装,其实就是解压到一个目录下,接受协议,

然后将解压开的目录,copy到任何你想要的目录下,就可以了。

2 设置JAVA_HOME

win下:我的电脑 右键 属性 高级 环境变量 新建

变量值 JDK的安装目录

变量名 JAVA_HOME

编辑 Path 系统变量,增加一段 %JAVA_HOME%/bin;

linux 下:修改/etc/profile 或~/.bash_profile增加

JAVA_HOME=/opt/jdk

PATH=$PATH:$JAVA_HOME/bin

export JAVA_HOME PATH

然后重新登录或source ~/.bash_profile就可以了

测试方法:执行java -version 或java -help 能返回结果

3 安装配置Tomcat

3.1下载tomcat最新版本 地址:http://tomcat.apache.org/download-60.cgi

3.2在win和linux都一样,只要直接解压就可以了。

3.3 启动

cd apache-tomcat-6.0.18

bin/startup.bat或bin/startup.sh

就可以启动tomcat了。

3.4 bin/shutdown.bat 或 sh

在linux还有一种关闭方法,就是kill进程

ps -ef |grep tomcat

kill 进程id 或kill -9 进程id

还有一种更决的,就是killall java 把所有的java进程杀死

3.6 修改tomcat启动端口,修改配置文件 conf/server.xml

找到
3.7 让servlet 自动加载修改的内容 ,打开reload选项。

修改conf/context.xml ,

这样,修改一个servelt的代码后,就不用重新启动tomcat了、

3.8 启用 invoker servlet 。

本来,要增加一个servlet,需要创建一个java类HelloServlet,继承HttpServlet,然后在web.xml中增加一段


HelloServlet
HelloServlet



HelloServlet
/servlet/hello


这样的操作方式比较麻烦。不过有种变通的方法,就是用invoke servlet来解决。

修改conf/web.xml,把 servlet and servelt-mapping 这两个的注释去掉,就可以了


invoker

org.apache.catalina.servlets.InvokerServlet


debug
0

2



invoker
/servlet/*


3.9 打开目录列表浏览 修改conf/web.xml文件,找到下面一段:设置为true


listings
true



3.10 设置CATALINA_HOME ,在启动的命令不在bin目录时设置。加到环境变量。

3.11 其他一些性能的参数配置 ,最大线程,超时时间 ,URI 编码,压缩传输等。

maxThreads="300" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="200"
connectionTimeout="20000" disableUploadTimeout="true" useBodyEncodingForURI="true"
compression="on"
compressionMinSize="2048"
noCompressionUserAgents="gozilla, traviata"
compressableMimeType="text/html,text/xml,text/plain,text/css,text/javascript"
/>

3.12 Tomcat启动JVM内存设置。在bin/catalina.bat或bin/catalina.sh设置JVM 的一些参数,并添加jconsole 监控端口参数。可以使用jconsole来监控JVM的线程,内存,类的一些细节信息

set JAVA_OPTS=-Xms512m -Xmx1500m -server -XX :P ermSize=64M -XX:MaxPermSize=128m
set JAVA_OPTS=%JAVA_OPTS% -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=16688 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false

3.13 使用manager 。用于部署应用程序,监控tomcat 连接状态,传输信息等。

修改 conf/tomcat-user.xml文件增加






可以通过浏览器访问http://localhost:8080/manager/html来访问,用web来管理部署应用程序。

3.14 在win下将tomcat安装为服务。

cd apache-tomcat-6.0.18 进入这个目录

bin/service.bat install/remove 安装或删除,可以加上服务的名字。

这里,采用系统服务方式启动tomcat的话,若要使用上面的一些性能参数,需要通过修改注册表。

HKEY_LOCAL_MACHINE SOFTWARE Apache Software Foundation Procrun 2.0 Tomca6 Parameters Java

可以修改JvmMs 和JvmMx 设置最大最小值,Options 中增加参数选项。

-Dcatalina.base=D:\gzedu\tomcat
-Dcatalina.home=D:\gzedu\tomcat
-Djava.endorsed.dirs=D:\gzedu\tomcat\common\endorsed
-Djava.io.tmpdir=D:\gzedu\tomcat\temp
-XX :P ermSize=64M
-XX:MaxPermSize=128m
-XX:ReservedCodeCacheSize=48m
-Dcom.sun.management.jmxremote=true
-Dcom.sun.management.jmxremote.port=16688
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false

可以通过命令行net start /net stop来启动

3.16 在tomcat增加apr支持,提高性能。静态页面处理能力。

win下可以到http://tomcat.heanet.ie/native/ 下载已经编译好的,相应版本的dll文件

设置set CATALINA_OPTS="-Djava.library.path=../../APR" 或将dll放到windows 的system32 或直接放到jdk或tomcat的bin下也可以。

linux的需要下载源码编译,设置 CATALINA_OPTS

增加后,启动tomcat时,有这样几个提示

信息: Loaded APR based Apache Tomcat Native library 1.1.15.
2008-10-28 17:39:57 org.apache.catalina.core.AprLifecycleListener init

3.15 admin程序,需要单独下载。记得tomcat 4的时候是内置的,tomct 5 的时候就单独打包了,后来tomcat 6的版本就没有。看来是不推荐使用了。

3.15.1 下载Tomcat 5.5.27 的admin application:http://tomcat.apache.org/download-55.cgi
3.15.2 解压apache-tomcat-5.5.23-admin.zip,将conf和server两个文件夹拷贝到Tomcat 6.0.18安装目录下。

3.15.3 下载Apache Commons Modeler,Logging组件,解压后将commons-modeler-XXX.jar、commons-logging-XXX.jar拷贝到Tomcat 6.0.18安装目录下的lib目录中。
http://commons.apache.org/downloads/download_modeler.cgi
http://commons.apache.org/downloads/download_logging.cgi

3.15.4 重启Tomcat,在浏览器中输入http://127.0.0.1:8080/admin,如果能看到 Tomcat Web Server Administration Tool 的登录界面,即安装成功。若不成功,可以查看Tomcat 6.0.18安装目录下logs目录里的日志文件,看看是出了什么问题。

需要在tomcat -users中增加role admin

较新的博文 主页