让静态页面也支持 include

在做网站的时候,如果要将重复的页面部分抽出来,然后include到其他页面,之前只知道在JSP,PHP等动态语言中可以用include这个方法做到,今天学了一招,在纯html页面中也是可以的。

不过别高兴早了,你的HTML页面得放在Apache服务器下面,因为这个方法用到了Apache的SSI(Server Side Includes)功能,具体介绍可以查看这里

大体配置方法如下:
继续阅读让静态页面也支持 include

[10/16 周主题] – Apache,Nginx,Tomcat集群 续

这篇文章是继续上次的 Apache,Nginx,Tomcat集群的一个补充,主要是Apache和Tomcat的一些补充。

1、Apache 反向代理只做 HTTP 透明转发,因此,Tomcat 那边,如果使用 Servlet API 获取 request url, server info等等,都是 Tomcat 的。在Tomcat 上的 JSP 或者 HTML 文件里面,都应该是相对路径,不应该使用绝对路径,更不能使用带 Tomcat 地址的 URL。

2、Apache KeepAlive和KeepAliveTimeout的使用,首先KeepAlive的on还是off,需要根据应用来决定,一般的使用是静态资源较多时启用,动态资源较多时关闭,对于高负荷服务器来说,KeepAliveTimeout值较大会导致一些性能方面的问题:超时值越大,与空闲客户端保持连接的进程就越多。

3、Tomcat中的maxThread的建议赋值范围在500-750,如果超过750,那么建议使用2个tomcat组成集群,每个设置为500,这样的使用效果比单个设置为1000要好的多!

[10/13周主题] – Apache,Nginx,Tomcat集群

本周主题:Apache Nginx Tomcat集群

最近这段时间一个项目处于最后的调试,上线阶段,服务器和程序的优化方面成为最近的重点,以确保项目上线后可以达到预定的目标。

最终上线的配置是Apache+Tomcat集群,Nginx仅仅参与了一下测试,算是体验下,以后估计会在前端上多多使用。

Apache前端使用的是反向代理配置方式,Session Sticky,Tomcat配置sessionDB。

Apache基本上采用默认配置,由于使用prefork模式,因此调整了prefork下的一些参数配置。

Tomcat调整了连接数,Apache和Tomcat在同台机子上,调整了Linux系统的ulimit。

Nginx做前端时,没有配置session同步,压力测试的表现方面,没发现Apache和Nginx有太大差异,不过有一次Apache前端被压挂了,无法关闭httpd。

另外这次将GlashFish和Tomcat做了一个简单的对比,发现GlashFish+自身连接池测试效果要好于Tomcat+DBCP连接池,表现方面一个是内存使用上,另一个是数据库连接数和响应上。

[10/10周主题] – 正则表达式

和程序打交道的朋友,工作中很难避免不使用正则表达式,因为它可以很大程度上简化复杂和繁琐的字符串处理工作,关于正则表达式,wikimedia上是这样解释的:一个正则表达式通常被称为一个模式 (pattern),为用来描述或者匹配一系列符合某个句法规则的字符串。详细介绍参见这里:正则表达式

本周主题:正则表达式

首先介绍一个不错的正则表达式入门教程:《正则表达式30分钟入门教程》,即使你之前没接触过,也可以很容易入门应用。当然实际看下来肯定不止30分钟了,这篇文章作者几经修正浓缩了一些精华,让想接触的朋友更好的入门和使用,特别推荐。

另外推荐使用的是正则表达式验证工具:REGex TESTER  http://www.regextester.com/ , 随时可以将写好的正则表达式进行在线实时验证。

正则表达式说起来有不少使用方法,但是平常使用的正则表达式还是稍微比较简单,大部分都属于验证框架 或者 服务器上面的一些rewrite规则使用。

下面就整理和收集了一些常用的正则表达式,以备不时之需。

Validate 框架相关

1、匹配Email地址的正则表达式:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*

2、匹配网址URL的正则表达式:[a-zA-z]+://[^\s]*

3、匹配帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):^[a-zA-Z][a-zA-Z0-9_]{4,15}$

4、匹配国内电话号码(这个表达式可以匹配几种格式的电话号码,像(010)88886666,或022-22334455,或02912345678等): \(?0\d{2}[) -]?\d{8}

5、匹配IP地址:((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)

6、匹配身份证:\d{15}|\d{18}

7、用户名可使用中文、英文字母(区分大小写)、数字或部分特殊字符(. _ – @),长度为4~20个字符:/^[\u4e00-\u9fa5A-Za-z0-9\_\-\.@]$/ig

继续阅读[10/10周主题] – 正则表达式

Nginx试用

最近Nginx比较火,也比较好奇,于是今天就试着在自己的虚拟机上装了玩玩。

教程基本上是按照网上的教程一步步走来的。

1、下载Nginx 0.7.65

2、编译,这块稍微花了点时间,主要是缺少依赖的库,一个一个去下载安装,建议初学使用可以看这里:http://wiki.nginx.org/NginxInstallOptions

我是用的是CentOS,执行下面的命令:

yum install gcc openssl-devel pcre-devel zlib-devel

3、安装完,运行就可以了!注意:apache默认也是80端口,别重了,或者暂时把Apache关掉。

4、配置 stub_status , 配置之前确定在编译时加载 http_stub_status_module, 否则你就要重新编译了!

5、配置tomcat集群,现学现用,由于我们目前大部分服务器使用的是tomcat集群。

下载 gnosek-nginx-upstream-fair-2131c73.tar

重新编译,别忘记带上 –add-module=/home/mikespook/gnosek-nginx-upstream-fair-2131c73

简单的一个Nginx+Tomcat集群就运行起来了!网上配置教程一大堆,我也就自己实践实践,如果不明白可以Google下或者百度下,不行搜狗下,可怜的Google,不,应该是可怜的中国政府!