王胜
该用户没有分享资料
由王胜撰写的日志
Linux下Apache与Tomcat的整合
1月19日
背景介绍:
Apache的HTTPD是目前比较受欢迎的网站服务器软件,它不但功能强大,而且完全免费,并且支持市场上流行的各种操作系统(Windows,Linux,Mac os)。同时对于Java Servlet/JSP的支持,通常也会使用同样Apache出品的Tomcat。Tomcat除了支持Java Servlet/JSP之外,也可以当做网站服务器使用,但是在对于静态的html文件、图片文件等的解析效率上不如Apache HTTPD的执行效率高。应用tomcat的服务器如果网站的访问量较大,系统资源占用会明显升高。所以就引出Tomcat与apache的整合服务。Apache负责静态资源处理,tomcat负责jsp和java servlet等动态资源的处理。
需要的组件:
1、apache
下载地址:http://httpd.apache.org/download.cgi
2、Tomcat
下载地址:http://tomcat.apache.org/download-60.cgi
3、Apache Tomcat Connector (mod_jk)
下载地址:http://www.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/
根据你的操作系统选择适当的 jk 连接器,同时要注意你用的Apache版本,根据你的Apache版本下载合适的jk版本。
下面是apache与jk的兼容性映射
- mod_jk-1.2.28-httpd-2.2.X.so is for Apache 2.2.x. It has been build against version 2.2.6, but should work with Apache 2.2.0 and later. Rename to mod_jk.so before putting it in your modules directory or adjust your LoadModule statement.
- mod_jk-1.2.28-httpd-2.0.X.so is for Apache 2.0.x. It has been build against version 2.0.61, but should work at least with Apache 2.0.55 and later. Rename to mod_jk.so before putting it in your modules directory or adjust your LoadModule statement.
- mod_jk-1.2.28-httpd-1.3.X-eapi.so is for Apache 1.3.x with EAPI extensions. It has been build against version 1.3.39, but should work at least with Apache 1.3.34 and later. Rename to mod_jk.so before putting it in your modules directory or adjust your LoadModule statement.
Any SSL enabled Apache 1.3 will include the EAPI extensions.
4、如果你的机器上还没有装JRE,那么还需装一个JRE或者JDK包
下面是我在Debian Linux上的整合过程(我的机器上已经安装了JDK)
如果你想用Debian/Ubuntu自己提供的软件包整合tomcat和apache2,可参考 用Debian/Ubuntu提供的软件包整合apache2和tomcat6
阅读全部内容 »
如何剥离CruiseControl内置的Web控制台
1月14日
背景介绍
出于各自不同的考虑:
- 启用 Apache Tomcat 内置的 Java EE 安全性管理机制,以加强这些 Web 控制台的管理
- 采用比 Jettery (cc内置的Web容器) 更强大的 Web 容器,使得 CruiseControl 构建循环不会受到 Web 控制台用户的影响。因为默认情况下,CruiseControl构建循环与宿主 Web 控制台的 Jetty 处于同一进程中。
CI集成人员需要将CruiseControl内置的两个Web控制台( http://localhost:8080/cruisecontrol/ 和 http://localhost:8080/dashboard/ ) 剥离出来,并运行在其他 Java EE 容器中,比如 Tomcat等。
移植Web 控制台到 Apache Tomcat 6.0.20 的步骤
如果你想用Debian 安装的tomcat6部署dashboard,请参照 剥离CruiseControl dashboard控制台到Debian安装的tomcat6上
localization插件实现Rails多语言支持
1月9日
localization 插件介绍
在 Rails 2.2 版本之前,Rails 应用程序都是采用localization插件实现应用程序的本地化,支持多语言。localization有点类似于gettext,使用很简单的方法就可以为你的应用实现多语言支持,进而实现应用的本地化。Rails 2.2 之后,Rails 引进了 I18n 模块,因此不需额外安装插件就支持多语言。
安装
这个插件的安装方式与其他的Rails插件安装没啥太大区别,只需要在Rails项目目录中按照如下命令安装即可:
RAILS_ROOT> ruby script\plugin install localization
使用
当localization插件安装完成之后,Rails项目启动之后将自动载入他,我们需要在Rails项目目录中建立一个lang目录用来存放语言包。
推荐的做法是在lang目录下建立的语言包的文件名应该与语言名能够对应起来,例如我们要建立一个中文语言包,我们就需要在RAILS_ROOT/lang/目录下建立一个名为zh_CN.rb的文件。内容如下:
Localization.define('zh_CN') do |l|
l.store 'Hello world', '你好,世界'
end然后在application.rb文件中加入如下内容,定义需要使用的语言名:
Localization.lang = 'zh_CN'
再打开一个模板文件,在其中输入如下内容:
<title><%= _("Hello world") %></title>启动Rails项目,浏览这个页面,你就会在标题栏看到中文的标题
Rails多语言支持
1月9日
Rails I18n(国际化)
Rails在 2.2 版本以后已经把 I18n 模块引入了 Rails 框架,以前的多语言支持大都采用 localization 插件完成的。在 Rails 2.2 版本后,我们只需要在配置文件中开启 I18n,并写相应语种的资源文件就可以了。
I18n 演示例子
1、开启I18n
创建一个配置文件,用于存放本地化的信息( RailsProject> config/initializers/i18n.rb),文件内容如下:
I18n.default_locale = 'zh'
LOCALES_DIRECTORY = "#{RAILS_ROOT}/config/locales/"
LANGUAGES = {
'English' => 'en',
'Chinese' => 'zh'
}参数解释:
I18n.default_locale 指定默认的本地语言
LOCALES_DIRECTORY 指定存放多国语言文件的目录
LANGUAGES 存储所支持语种
redmine-项目管理工具
1月6日
redmine – 软件项目的催化剂
曾经有这样一位项目成员。
在项目主管的眼中,她既不是一个得力的开发人员,或测试人员,也不是有任何其他特长的人。
但在她就职的这家公司的12年间,凡是她从事过的项目都取得了巨大的成功。她为项目做了什么是不明显的,但是有她在项目总是成功的。
多年后,在一次项目组成员聚会上,通过与其他成员交谈,项目主管终于解开心中的结:原来她是一个极品催化剂。有她在,队员们自然会团结得更好,她协助人与人之间的交流并使大家融洽相处。当她是项目的成员时,整个项目变得更加有趣。
是啊,项目成员之间的交流在很大程度上决定着一个项目的成败。很多时候项目失败了,并不是因为技术落后或者不行,而是没有及时沟通导致问题长期潜伏,最终项目无法按期完成,甚至漏洞百出。
令人欣喜的是,随着软件业的发展,一个辅助开发流程管理的系统渐渐走进了人们的视野。在使用的过程中,人们发现,这样的工具就像上面介绍的那个员工一样,同样起到了催化剂的功效,使团队合作越来越密切,交流越来越方便,项目的成功率越来越高!以前我们公司用的是Trac,一个基于Python的项目管理及缺陷跟踪管理工具。但在去年的一次偶然机会,我们发现了一个功能更强大,使用更简便的项目管理工具--Redmine。
redmine 特征
- 支持多项目
- 灵活的基于角色的访问控制
- 灵活的问题跟踪系统
- 甘特图和日历
- 新闻、文档和文件管理
- feeds和邮件通知
- 依附于项目的wiki
- 项目论坛
- 简单实时跟踪功能
- 自定义字段的问题,时间项,项目和用户
- SCM in集成 (SVN, CVS, Git, Mercurial, Bazaar and Darcs)
- 多个LDAP认证支持
- 用户自注册支持
- 多语言支持
- 多数据库支持
同时我们群英汇又对Redmine进行了一些定制开发,主要有:
- 支持单点登录
- 支持Subversion基于路径的授权,这对代码控制比较严格的公司来说再好不过了
- 可以为项目指定默认的目标版本
- 修改了Redmine活动显示的基准时间,避免长期没活动时首页显示没有数据
- 增加管理员从LDAP添加用户的功能
- ……
此外,我们随时留意 Redmine 社区的最新改动,以便及时提供 Redmine 的升级。同时我也参与了 Redmine 社区的活动,给 Redmine 社区提供回馈及意见 http://www.redmine.org/issues/4530 http://www.redmine.org/issues/5024
更多详细情况,你可以访问 redmine.ossxp.com

最新评论