分页: 81/196 第一页 上页 76 77 78 79 80 81 82 83 84 85 下页 最后页 [ 显示模式: 摘要 | 列表 ]
Feb 26
关于 Nginx 变量的另一个常见误区是认为变量容器的生命期,是与 location 配置块绑定的。其实不然。我们来看一个涉及“内部跳转”的例子:

    server {
        listen 8080;

        location /foo {
            set $a hello;
            echo_exec /bar;
        }

        location /bar {
            echo "a = [$a]";
        }
    }

这里我们在 location /foo 中,使用第三方模块 ngx_echo 提供的 echo_exec 配置指令,发起到 location /bar 的“内部跳转”。所谓“内部跳转”,就是在处理请求的过程中,于服务器内部,从一个 location 跳转到另一个 location 的过程。这不同于利用 HTTP 状态码 301 和 302 所进行的“外部跳转”,因为后者是由 HTTP 客户端配合进行跳转的,而且在客户端,用户可以通过浏览器地址栏这样的界面,看到请求的 URL 地址发生了变化。内部跳转和 Bourne Shell(或 Bash)中的 exec 命令很像,都是“有去无回”。另一个相近的例子是 C 语言中的 goto 语句。
既然是内部跳转,当前正在处理的请求就还是原来那个,只是当前的 location 发生了变化,所以还是原来的那一套 Nginx 变量的容器副本。对应到上例,如果我们请求的是 /foo 这个接口,那么整个工作流程是这样的:先在 location /foo 中通过 set 指令将 $a 变量的值赋为字符串 hello,然后通过 echo_exec 指令发起内部跳转,又进入到 location /bar 中,再输出 $a 变量的值。因为 $a 还是原来的 $a,所以我们可以期望得到 hello 这行输出。测试证实了这一点:

$ curl localhost:8080/foo
a = [hello]

但如果我们从客户端直接访问 /bar 接口,就会得到空的 $a 变量的值,因为它依赖于 location /foo 来对 $a 进行初始化。
从上面这个例子我们看到,一个请求在其处理过程中,即使经历多个不同的 location 配置块,它使用的还是同一套 Nginx 变量的副本。这里,我们也首次涉及到了“内部跳转”这个概念。值得一提的是,标准 ngx_rewrite 模块的 rewrite 配置指令其实也可以发起“内部跳转”,例如上面那个例子用 rewrite 配置指令可以改写成下面这样的形式:

    server {

        listen 8080;

        location /foo {
            set $a hello;
            rewrite ^ /bar;
        }

        location /bar {
            echo "a = [$a]";
        }
    }

其效果和使用 echo_exec 是完全相同的。后面我们还会专门介绍这个 rewrite 指令的更多用法,比如发起 301 和 302 这样的“外部跳转”。
从上面这个例子我们看到,Nginx 变量值容器的生命期是与当前正在处理的请求绑定的,而与 location 无关。
前面我们接触到的都是通过 set 指令隐式创建的 Nginx 变量。这些变量我们一般称为“用户自定义变量”,或者更简单一些,“用户变量”。既然有“用户自定义变量”,自然也就有由 Nginx 核心和各个 Nginx 模块提供的“预定义变量”,或者说“内建变量”(builtin variables)。
Nginx 内建变量最常见的用途就是获取关于请求或响应的各种信息。例如由 ngx_http_core 模块提供的内建变量 $uri,可以用来获取当前请求的 URI(经过解码,并且不含请求参数),而 $request_uri 则用来获取请求最原始的 URI (未经解码,并且包含请求参数)。请看下面这个例子:

    location /test {
        echo "uri = $uri";
        echo "request_uri = $request_uri";
    }

这里为了简单起见,连 server 配置块也省略了,和前面所有示例一样,我们监听的依然是 8080 端口。在这个例子里,我们把 $uri 和 $request_uri 的值输出到响应体中去。下面我们用不同的请求来测试一下这个 /test 接口:

$ curl 'http://localhost:8080/test'
uri = /test
request_uri = /test

$ curl 'http://localhost:8080/test?a=3&b=4'
uri = /test
request_uri = /test?a=3&b=4

$ curl 'http://localhost:8080/test/hello%20world?a=3&b=4'
uri = /test/hello world
request_uri = /test/hello%20world?a=3&b=4

另一个特别常用的内建变量其实并不是单独一个变量,而是有无限多变种的一群变量,即名字以 arg_ 开头的所有变量,我们估且称之为 $arg_XXX 变量群。一个例子是 $arg_name,这个变量的值是当前请求名为 name 的 URI 参数的值,而且还是未解码的原始形式的值。我们来看一个比较完整的示例:

    location /test {
        echo "name: $arg_name";
        echo "class: $arg_class";
    }

然后在命令行上使用各种参数组合去请求这个 /test 接口:

    $ curl 'http://localhost:8080/test'
    name:
    class:

    $ curl 'http://localhost:8080/test?name=Tom&class=3'
    name: Tom
    class: 3

    $ curl 'http://localhost:8080/test?name=hello%20world&class=9'
    name: hello%20world
    class: 9

其实 $arg_name 不仅可以匹配 name 参数,也可以匹配 NAME 参数,抑或是 Name,等等:

    $ curl 'http://localhost:8080/test?NAME=Marry'
    name: Marry
    class:

    $ curl 'http://localhost:8080/test?Name=Jimmy'
    name: Jimmy
    class:

Nginx 会在匹配参数名之前,自动把原始请求中的参数名调整为全部小写的形式。
如果你想对 URI 参数值中的 %XX 这样的编码序列进行解码,可以使用第三方 ngx_set_misc 模块提供的 set_unescape_uri 配置指令:

    location /test {
        set_unescape_uri $name $arg_name;
        set_unescape_uri $class $arg_class;
        echo "name: $name";
        echo "class: $class";
    }

现在我们再看一下效果:

$ curl 'http://localhost:8080/test?name=hello%20world&class=9'
name: hello world
class: 9

空格果然被解码出来了!
从这个例子我们同时可以看到,这个 set_unescape_uri 指令也像 set 指令那样,拥有自动创建 Nginx 变量的功能。后面我们还会专门介绍到 ngx_set_misc 模块。
像 $arg_XXX 这种类型的变量拥有无穷无尽种可能的名字,所以它们并不对应任何存放值的容器。而且这种变量在 Nginx 核心中是经过特别处理的,第三方 Nginx 模块是不能提供这样充满魔法的内建变量的。
类似 $arg_XXX 的内建变量还有不少,比如用来取 cookie 值的 $cookie_XXX 变量群,用来取请求头的 $http_XXX 变量群,以及用来取响应头的 $sent_http_XXX 变量群。这里就不一一介绍了,感兴趣的读者可以参考 ngx_http_core 模块的官方文档。
需要指出的是,许多内建变量都是只读的,比如我们刚才介绍的 $uri 和 $request_uri. 对只读变量进行赋值是应当绝对避免的,因为会有意想不到的后果,比如:

    $ curl 'http://localhost:8080/test?name=hello%20world&class=9'
    name: hello world
    class: 9

这个有问题的配置会让 Nginx 在启动的时候报出一条令人匪夷所思的错误:
  
[emerg] the duplicate "uri" variable in ...

如果你尝试改写另外一些只读的内建变量,比如 $arg_XXX 变量,在某些 Nginx 的版本中甚至可能导致进程崩溃。
Tags:
Feb 23
在IIS6上使用FastCGI PHP5(应该是目前Win性能最好的PHP支持方法)
1.下载FastCGI For IIS6
http://www.microsoft.com/downloads/details.aspx?FamilyID=2d481579-9a7c-4632-b6e6-dee9097f9dc5&displaylang=en
下载之后,双击运行进行安装即可. 安装后C:\WINDOWS\system32\inetsrv目录下有这几个文件
点击在新窗口中浏览此图片
2、下载PHP5免安装版本,
http://www.php.net/downloads
解压到C:\PHP目录下
要确保IIS启动帐号对C:\PHP\*有读取执行权限
3、注册PHP到FastCGI
cscript fcgiconfig.js -add -section:"PHP" -extension:php -path:"C:\PHP\php-cgi.exe"
4、做一些性能和安全设置
C:\PHP\php.ini-recommended重命名为为C:\PHP\php.ini
打开C:\PHP\php.ini,修改:
extension_dir = "C:\PHP\ext"
fastcgi.impersonate = 1
cgi.fix_pathinfo=1
cgi.force_redirect = 0
执行:
cscript fcgiconfig.js -set -section:"PHP" -InstanceMaxRequests:10000
cscript fcgiconfig.js -set -section:"PHP" -EnvironmentVars:PHP_FCGI_MAX_REQUESTS:10000
以上两项设置最大池和响应连接数,可以根据自己的硬件配置、使用情况修改

5:配置 IIS & PHP
开始,运行,inetmgr依次展开,选中要配置的站点,右键,属性。切换到“主目录”选项卡,“配置”,“添加”,“浏览” 选中 C:\WINDOWS\system32\inetsrv\fcgiext.dll ,“确定”扩展名填入“.php”,勾选“脚本引擎”及“检查文件是否存在”,确定。
点击在新窗口中浏览此图片
一切完毕之后重启IIS,赶紧写一个测试页试一下吧.
重启IIS后,打开测试页出现如下提示:
FastCGI Error
The FastCGI Handler was unable to process the request.
--------------------------------------------------------------------------------
Error Details:
Error Number: 5 (0x80070005).
Error Description: 拒绝访问。
HTTP Error 500 - Server Error.
Internet Information Services (IIS)
这个错误是由于在解压PHP之后,没有对IIS启动帐户赋予该目录的读取和运行权限.修改文件夹安全属性,问题可以解决.
第二种简单的方法就是:
打开C:\WINDOWS\system32\inetsrv\fcgiext.ini 在[Types]下面加上下面这几行
引用
php=PHP
[PHP]
ExePath=C:\php\php-cgi.exe
InstanceMaxRequests=500
EnvironmentVars=PHP_FCGI_MAX_REQUESTS:10000

点击在新窗口中浏览此图片
如果你的系统是windows server 2003 SP2的话安装好FastCGI之后WEB服务扩展里面就有FastCGI Handler的扩展了,
点击在新窗口中浏览此图片
在你把上面的几行保存到fcgiext.ini之后,重启IIS就可以了,ISAPI扩展不用你添加就自动添加好了。
Tags: , ,
Feb 23
(一) 喜欢
  上大学时就迷恋咖啡,每次放假回家都要缠着父母买一点咖啡带到学校里面去。同学们说我玩洋,可每当咖啡的香气飘荡在宿舍的时候,她们都会笑着过来每人尝一口。我就是抵挡不住咖啡的那种苦苦的滋味对我的诱惑,褐色的液体里仿佛包含着人生所有的苦涩。那时喝咖啡从不加糖,我想,只有浓浓的苦咖啡才能让人生的滋味常驻心田,尽管我并不懂人生的滋味到底是什么。

  大学毕业后用一种老掉牙的方式认识了杜杰,从此我的世界里有个叫杜杰的男孩,一个高大,谦逊温和又傻傻的男孩。和他相处的时候,我依然喝着单一味道的咖啡,不加糖,而且只在家中喝,咖啡的品牌是雀巢。杜杰很少喝咖啡,他说太苦的味道他不喜欢。我曾经有意无意地问他,哪天陪我去咖啡厅喝杯咖啡吧?他说,好啊!

  日子在忙忙碌碌中一天天过去,对于那杯咖啡的承诺,我们仿佛都忘到了脑后。我不再奢求,他也没再说起过。雀巢咖啡的苦苦的味道仍然留在我一个人的心里。

  那一天是周末,杜杰接我下班,在办公楼下他急匆匆地拉着我的手,将我塞进他的车,话也没说开了就走。我用余光看到他的眼睛,那里分明闪烁着钻石一样的光芒。

  车终于在上岛咖啡店门口停了下来,我高兴得一直张着嘴,半天都没有合拢。他轻轻地拉着我的手,说,走吧,我陪你喝咖啡。其实我知道那杯咖啡的名字叫摩卡,可我偏偏想叫它:勿忘我。当然,这是我给它起的名字,因为我觉得这个名字更适合那杯加了糖的咖啡。在我的人生里,第一次尝到另一种滋味的咖啡,这种滋味永永远远地沁入了我的心扉。

  他说,以后别一个人喝咖啡了,一个人的咖啡是苦的,两个人的咖啡才是甜的,好吗?

  为什么不好呢?我想杜杰是我可以永远依赖的人,我可以因为有他而幸福一生。

  很多个日子都是那样平淡的过去的,但平淡中有爱,有杜杰细心的呵护,虽然他不善言辞,却让我感到温暖。我经常笑他傻,轻骂他连温柔的话都不会说,他只微微的咧开嘴微笑说,行动比语言来得更实际哦!

  (二) 爱

  杜杰对我的求婚简直是这个世界上最笨最傻也是最令我感动的求婚。

  我是单位的中层主管,一个人需要处理一大堆的事情,到年底忙得晕头转向,好不容易抽出时间休息,约了杜杰去咖啡厅,为了散散心。

  要的咖啡是卡布基诺,两杯。

  我搅着那浓浓的泡沫,心里一会儿想着工作,一会儿又想着其它的事情。

  杜杰的手机总是响着,不知他怎么会那么忙。我的心情开始郁闷。

  “怎么了?”

  ……

  “别哭了,慢慢说。”

  ……

  “嗯,好啦,没事的,我有时间去看你。”

  ……

  “乖,听话,好好照顾自己啊。回头我给你打电话。”

  听着杜杰的电话,有点气不打一处来,所有的不愉快都指向他。

  “谁呀?”

  “表妹。”

  “表姐妹还挺多的哦。”

  “是燕子啊。”

  “是家燕还是野燕呢?”眼泪差点流出。

  “欣欣,别瞎扯啊!”

  “我算什么?你就和你的家燕啊野燕啊的温柔去吧!!!”

  不知哪里来的那么大的气,拿了自己的衣服和皮包便跑了出去。

  眼泪流出。心想,不再理他。

  北方冬天的风冷得刺骨,可我全然不知,泪被风吹干,我就那样在大街上走着。

  仅仅五分钟而已,杜杰的车嘎的停在我身边。他下车,不顾我的不情愿,把我硬抱进了车里。我不理他,一个人生着气。

  后来,又笑,笑得止不住。那个地方根本不能停车,他被罚款一百块。

  我想,真是报应!

  到了楼下,仍不肯理他。

  “欣欣,还生气?”

  嘟着嘴不理他。

  杜杰关了车门,站在我面前。

  “你真是小姐脾气啊,都说了是表妹小燕啊,不信你打电话啦。”

  他真的拿出手机打通了塞到我手里。

  “表哥。”话筒里传来声音说。

  “我是欣欣。”

  “表嫂你好啊!”……

  燕子从我和杜杰认识没有三个月的时候就这样叫我。后来知道她失恋了,心情不好,打了电话向表哥杜杰诉苦。

  其实我不是不相信杜杰,只是心里太爱,所以怕失去。

  “信了吗?”杜杰一脸邪笑的对我说。

  “谁信你?”我撒娇。

  ……

  “欣欣,我不太会说话,但你知道我是爱你的,嫁给我好吗?我想照顾你一辈子。”

  以为自己听错了话,诧异!

  不知杜杰从哪里拿出一支玫瑰花,送给我,“我们结婚吧!”

  仔细看了那玫瑰,花瓣已掉了几片。

  “哪里来的?”

  “嘘……,别让人知道,结帐时从咖啡厅的花瓶里拿的。”

  “哈哈……想做小偷啊?”

  “才怪呢?只是想表达我对你的爱!”

  “你……真的……很爱我吗?”

  “欣欣,除了爱你还能爱谁?”

  我扑到杜杰的怀里,幸福的笑,同时带下爱的眼泪。这是世界上最傻的求爱吧?

  

  (三) 远离

  一直以为拥有了杜杰就是拥有了全世界,因为他爱我,我也深爱着他。我以为他永远都不会离开我,他说过的,会照顾我一辈子。我信!

  手机短信中我说道:

  “如果有一天我提早离开了你,你会不会想我?会不会爱我永远?”

  “当做会。”

  “我会爱你一生一世,你能爱我多久?”

  “山无棱角海水干!”我的泪已流下。

  “如果你还爱我……”

  “当然爱你!不爱你还能爱谁!”

  “我写了文章发表在帖子里,他们说我很幸福,我想我的确幸福,你呢,我的爱人?”

  “我也一样!爱你不变!”

  “夜深人静的时候,也许想你是我唯一生存的理由!爱你!最心爱的人!”我说。

  “傻瓜,爱你永远!睡吧!”

  结婚的日子订在6月16日,挺热,却也热闹非凡。

  杜杰很实在,实在的喝酒喝到脸红。

  晚上躺在杜杰温暖的怀里,小心的责怪他:喝那么多酒干什么?

  他吻了我,说,小傻瓜,娶了你幸福啊!

  “去你的,就捡好听的说!”我娇 嗲着。

  “本来就是嘛!”杜杰捏着我的鼻子说,然后呼呼睡去。

  我不喜欢回忆,但是如今回忆起,我是那样依恋杜杰温暖的怀抱,所以每次他出门,都要用他你的双手环绕我的腰,等待他温柔的吻过我,才肯放手离去。有时我想也许是我懦弱吧,怕杜杰放手之后,我便再也不属于他,所以我想将他一辈子牵绊住!

  不知杜杰是不是也不舍得离开我?离开我他是不是也会心痛?不然,为什么每次的拥抱后他将我搂得那样紧?

  终于,杜杰的世界不再属于我,尽管,在他离开以前,我们爱着,深爱着!

  离开的那天,他抱了我,说,宝贝,好好照顾自己。又对妈妈说,您老也多保重!

  然后杜杰就轻轻的一转身,走了!

  杜杰去北京没有开车,是单位的车送去的。我不太信命,但那天杜杰走后,我的眼跳了许久许久。

  上午十点左右,我在不知不觉中被判了死刑!一个熟悉的电话打来,却不是杜杰。对方说了很多,可我只听见一句,杜杰走了!

  我不信,我的眼泪也不相信,杜杰走了??????可是我只看见一抹白,盖在我爱的人的身上。那么的刺眼,那么的惹人心碎。

  醒来时是第二天的午后,妈妈在一旁哭肿了眼睛。我不顾阻力的跑到灵前,想去把他喊醒,想去抓住他,哪怕只是他的衣角!然而,杜杰在给了我最后的一个拥抱后,再也听不见我的声音,他走了,走远了,远到我今生今世再也看不清他的样子。

  我抱着黑白相片问,杜杰你骗了我知道吗?你说会照顾我一辈子的,为什么你就这样走了,为什么不带着我?为什么?

  我一个人在这里,你不会想我吗?没有你我能爱谁?

  杜杰你知道吗,我宁愿有一天我也如同你一样离开了这里,去往那个有你的世界,去陪你!

  夜夜我这样哭着说,夜夜哭醒。妈妈便劝说,“傻孩子,杜杰那么疼你,是不希望你这样为他流泪的,在另一个世界,他也许只想看见你的笑!”

  我就是你的一滴泪,可是泪干了,亲爱的,你会回来吗?

  会回来吗?……

  我一千一万次的问!

  

  (四)笑

  烟水流逝的过程里,我四处张望,然而最后,你不是我的,我不是你的。我回首望着过去,仿佛看到了那无数美丽的烟花,无数温情的笑容。我仍然不停的问着自己,亲爱的,你会回来吗?明知不可能!!!

  我每天重复着亿万次的呼吸,杜杰被值在我内心的最深处,不碰则已,一碰便痛彻心扉。每次因想起杜杰而流泪时,我都用手接住,握在掌心里,直到化为乌有。

  两年了,我一直活在和杜杰的回忆里,不肯离去。朋友们同事们开始给我张罗着找男朋友,以前他们是不敢这样的,因为一听到他们说杜杰我便会哭个不停。而如今我学会把泪流在无人的角落。

  认识李森是在我们系统的经验交流会上。我代表分公司上台发言,那两天胃酸过高,疼时只能靠吃止痛片维持。好不容易念完了稿子,下台时已脸色苍白,汗顺着脸颊流下来。

  李森端着一杯热水递给我,问,田欣你病了吗?

  我说胃疼。他开车送我回家。他是会议组委会的,有义务照顾好每一个与会人员,他说。

  睡了两个小时起来,妈妈用异样的眼光问,欣欣,刚才那人是谁?又回来了一趟,买了许多胃药,还有水果。

  不认识,是我们一个系统的。妈说我骗她!我却别过脸去看和杜杰的结婚照,懒得理这位可爱的老太太。

  转天接到问候的电话,顺便也知道了他叫李森,在总公司组织部工作。

  后来,我发现李森和我一样喜欢文字,他给我看他写的诗和散文,那其中淡淡的忧伤就像我在诉说着心情,想念杜杰的痛苦紧紧的向我缠绕过来,我哭。李森不知所措,只轻轻地拍着我的肩说对不起。

  两年了,我没有向别人说起我和杜杰的故事,那天却迎着心痛,告诉了李森。李森沉默,一句话不说,只抽烟。

  走时李森说,周六如果没事的话,请你喝咖啡好吗?

  两年了,因为杜杰的离开,我没有进过咖啡厅半步,戒了咖啡,其实是想忘了杜杰。

  我笑着看他,看着眼前比我小半年的孩子般的他,说好。

  两年了,我没有真正发自内心的笑过。

  

  (五)逃避

  可是我是一个倔强的女子,杜杰走了,我便一直认为我的心也跟他走了,去向另一个世界,不再回来。我对杜杰的眼泪和疼痛不让人知道,不让人看到,只留在心底。

  李森在认识我半年后,在他那间干净的小屋里,对我说,欣欣,我想照顾你一辈子,可以吗?

  突然想起杜杰,他也对我说过一样的话。刹那间以为杜杰在眼前,可看到的是李森。

  我疯一般的从那间小屋逃走,飞奔在大街上,泪,随风飞舞……

  这样的举动伤了李森,他辞职走了,不知道去了哪里。

  “欣欣:

  你不应该永远活在记忆里,我相信杜杰也不希望你这样。你爱他爱到痴狂,爱到心痛,可我对你的爱也一样,你明白吗?我以为你会淡忘了那个属于你和他的年代,我以为因为我的存在,那个年代会在记忆里被销蚀了。可是我错了!我对你的爱也让自己心痛!

  你保重,别让我担心!

  李森”

  这是李森留给我的最后一封邮件。

  我就这样用自己的任性把李森给丢掉了,我不知道去哪里能把他找回来,我不知道!

  然而对李森记忆的深刻远远超乎了我的想象。我伤到别人的同时也伤到了自己。他离开以后,才发现自己的伤口。

  想起某天和李森简单的拉着手,从路的这头走到路的那头。

  想起他曾柔柔的抚摸我的长发。

  想起他的眼神从未离开过我的视线,总是那样深情的看着我。

  想起他的手,他说话的口吻,和他对我的呵护。

  ……

  不能忍受没有李森的日子,就如同当初不能忍受没有杜杰的日子一样。我去打听他的消息。我知道,我想念他,想念到了底限。

  我想,李森的心一定被我伤得很疼,因为每当我想起他时,心也会疼的厉害。

  入夜,做了一个梦,梦见杜杰,笑笑的摸着我的头说,欣欣,别任性了,去找自己的幸福吧。来生我再爱你好吗?

  哭醒。

  亲爱的杜杰,我知道你走远了,再也不会回来。

  可是李森,你知道我在等你吗?

  我多买了一只咖啡杯,因为你说过会陪我喝一生的咖啡的。

  亲爱的李森,你会回来吗?回到那个没有眼泪的温情的年代,所有柔情的眼神和任性的依恋。

  亲爱的,你会回来吗?

  ……
Feb 23
那年,她十六岁,第一次喜欢上一个男生。他不算很高,斯斯文文的,但很喜欢踢足球,有着一把低沉的好嗓音,成绩很好,常是班上的第一名。虽然在当时,早恋已经不是什么大问题,女生追男生也不再是新闻,她更不是那种内向的女孩。但是她从来没有想过要向他表白,只是觉得,能一直这样远远地欣赏他,就很好了。那时,她常常为在路上碰到他,打声招呼高兴个半天,常常放学也不回去,而是上运动场一圈又一圈地慢跑,只为了看他踢球。
  她还学着叠幸运星,每天在那小纸条上写一句想对他说的话,叠成小幸运星,快乐地放在大瓶子里。她常常看着他想,象他那样的男生,应该是会喜欢那种温柔体贴的女孩吧,那种有着一把乌黑的长长直直的头发,有着一双水汪汪的大眼睛,开心的时候会抿嘴一笑的女孩。她的头发很乌黑,但只短短的到耳际边,她有一双大眼睛,但常常因为大笑而眯成一条缝。

  她十九岁,考上一所不算很好但也不差的大学。他正常发挥,考去了另外一所城市的重点大学。她坐着火车离开这个生她养她的小城时,浮上心头的是她点点滴滴与他的回忆。大学生活是以二十几天艰苦的军训生活拉开序幕的。晚上临睡前,其他女生都躲在被窝里偷偷打电话跟男友互诉相思之情,她好多次按完那几个熟悉的数字键,始终没有按下那个呼叫键。十九年来,第一次知道什么叫思念,原来,思念就一种可以让人莫名其妙地掉下眼泪的力量。

  四年的大学生活不算太长,活泼可爱的她身边从来不缺乏追求者,但她却选择单身。好事者问起原因时,她总淡淡一笑, 说:“学业为重嘛。” 她也确实在很努力地学习,只为了考他那所大学的研究生。四年来她的 头发不断变长,她没有再剪短。一次旧同学聚会时,大家看到她时都眼前一亮,一把乌黑的长长直直的头发,水汪汪的大眼睛因恰到好处的眼影而更显光彩,白里透红的皮肤,时不时抿嘴一笑,都忍不出这是昔日的小活宝。他见到她时也不禁心神一动,但当时他的手正挽着另一个女子的纤纤细腰。她看着他身边那个比自己更温柔妩媚的女子,很好地掩饰了心里的一丝失落,只淡淡对他一笑,说,“好久不见了。”

  她二十二岁,以第一名的成绩考上了他那所大学的研究生。他没有继续考研,进了一间外资企业,工作出色,年薪很快就达到了六位数。她继续过着单调甚至枯燥的学生生活,并且坚持单身。一次放假回家,一进门母亲就把她拉过一边,语重心长, 女儿啊,读书是好事。但女人始终是要嫁人生子的,这才是归宿啊。 她点了点头,进房间整理带回来的行李。先从箱子里拿出来的是一瓶满满的幸运星,摆在书架上。书架上一排幸运星的瓶子,都是满满的,刚好六瓶。

  她二十五岁,凭着重点大学的硕士学历和优秀的成绩,很快就找到一份很好的工作,月薪上万。他这时已自己开公司,生意越做越大。第三间分公司开业的时候,他跟一个副市长的千金结婚了,双喜临门。她出席了那场盛大的婚礼,听到旁边的人说起新郎年青有为,一表人才,新娘家世显赫,留洋归来,貌美如花,真是一对璧人。她看着他春风得意的笑脸,心里竟也荡起一种幸福的感觉,莫名的感觉,仿佛他身边那个笑容如花的女子就是自己一样。

  她二十六岁,嫁给了公司的一个同事,两个人从相识到结婚不到半年的时间,短到她都不知道两人是否恋爱过。他们的婚礼在她的极力要求下搞得很简单,只邀请了几个至亲好友。当晚她喝了很多酒,第一次喝那么多酒,没有醉,却吐得一塌糊涂。她在洗手间看着镜子里那张在水汽蒸腾下逐渐模糊的脸,第一次有种想痛哭一场的冲动。但终于,她还是把妆补好后走出去继续扮演幸福新娘的角色。她的外套的衣袋里,有她早上仓促叠好的一颗幸运星,里面写着,“今天,我嫁作他人妇了。可是我知道,我爱的是你。”

  她三十六岁,过着平静的小康生活。一日在街上巧遇一旧同学,闲聊起他,竟得知他生意失败,沉重打击后终日流连酒吧,妻离子散。她在找了好几天后终于在一间小酒吧找到他。她没有骂他,只是递给他一本存折,那里面是她所有的积蓄,然后对他说,“我相信你可以重头再来的。”他打开存折,巨额的数字让他不可置信,那些所谓的亲朋好友在听到他说了“借钱”两个字就冷眼相向避而不见,她不过是一个快让他淡忘名字的老同学,却如此慷慨大方?她依旧淡淡一笑,说,“朋友不是应该互相帮助的吗。”当晚她的丈夫知道了后,一个重重的巴掌立刻甩了过来,大吼道:“上百万一声不吭就全给了他,你是不是看上人家了!”她被那巴掌击倒在地,没流泪也没说话,更没有回答她丈夫的质问。虽然她从来没有向别人承认过她爱他,但她也决不会向别人否认她爱他。

  她四十岁,那年他的公司已经成为同行业里最具竞争力的几间大公司之一。那晚他带着两百万和他的公司的百分之十股份转让书到她家。她的丈夫一边乐呵呵地说,“不必这么客气嘛,朋友之间互相帮助是应该的,”一边在股份转让书上签下名字。她没说什么,只说了句,“不如留下来吃顿饭。”他没有不答应的理由。饭菜端上来时,他惊讶地发现自己最爱吃的几样菜都有。但他抬头看到她一脸恬静地为丈夫儿子夹菜时,心里一下释然,觉得是自己想多了。临走的时候他从口袋里拿出一张请贴,笑笑说:“希望你们到时都可以来。”她以为是他又有分公司开业,不以为意,接过随手放在沙发上。送走他转身回厨房洗碗的时候,突然听到她丈夫大声说,“人一有钱就风流这句话果然没错啊。看你这个旧同学,这么快又娶第二个了。”她的手一颤,被一个破碗的缺口划了一下,血一下子涌了出来,一滴接一滴不停往下滴。她看着那片泛着微红的水,突然想起十五年前那个笑容如花的女子那身婚纱,似乎就是这个颜色。

  她五十五岁,一天突然在家里昏倒,被送去医院。一番检查后,医生脸色沉重,要把她丈夫叫到一边说话。她毕竟是个聪明的女人。叫住医生,她很认真地问,“我还可以活几天?”三个月,电影里的桥段用得多了,没想到真应了人生如戏这句话。执意不肯住院,她回到家里开始为自己准备后事。一个人活了大半辈子,要交代的事多着。收到消息的亲朋好友纷纷赶来见最后一面。他是最后一个。她躺在床上,已经开始神智不清,但一看到他手上那刻幸运星,立刻清醒了过来,这是给我的吗? 她指了指那颗幸运星,脸上竟露出一丝笑容。他连忙回答,“啊,是。是啊。这是我带来给你的。”真是无心插柳,这不过是他刚出机场时碰到那个为红十字筹款的小女孩送的,他当时急着来见她,接过来时都没看清是什么东西就赶着上车了,一路握着也不知觉。她接过那颗幸运星,紧握着放在胸前好一会不放。终于,她指了指旁边的桌子,那上面也放了一颗幸运星,那时她昨晚花了一个多小时才叠好的,缓缓对他说道:“在我以前住的房子里,还有三十九罐幸运星。等我火化的时候,你把那些连同这两颗和我放在一起,好吗?”他还没来得及回答,她已经合上眼睛,一脸安详。

  她火化那天,他按照她的遗愿把那些幸运星撒在她身上,三十罐,不小心滚落一两颗在地也没人发现。他转身要走的时候,忽然发现地上还有两颗。拣起来,他想,算了,就当是留个纪念吧。

  他七十岁。一天,他戴着老花眼镜在花园里看书时。四岁的小孙子突然拿着两张小纸条,兴冲冲跑到他面前,嚷道,“爷爷,爷爷,教我识字。”他扶了扶眼镜,看清第一张小纸条上的字,“杰,你今天穿的那身蓝色球服很好看哦。还有,6这个号码我也很喜欢,呵呵。 ”他皱了皱眉,问孙子, 这两张小纸条你从哪里找来的? 这不是纸条啊,这是你放在书桌上那两颗小星星啊。我拆开它,就发现里面有字了哦! 他一愣,再去看那第二张小纸条,“杰,有一种幸福是有一个能让你不顾一切去爱他一辈子的人。”

  “有一种幸福是有一个能让你不顾一切去爱他一辈子的人。”他念着,念着,泪流满面……
Tags: ,
Feb 23
那天,我洗完澡,从浴室里惊慌失措地跑出来,一边嚷着:“坏了坏了!”
  陈许依然闷头做他的设计,鼻子里哼出一句:“必扑在厨房门背后,自己拿。”

  我说:“不是蟑螂,是我的肚子,我的肚子上有一圈肥肉啦。”

  陈许“哦”了一声:“我早发现了,那又怎么样?”

  “怎么样?你说得轻巧!我会嫁不出去的呀。”我摸着肚子,一脸沉痛状。

  “你准备嫁给谁?”

  “嗯,都可以,只要是有钱的,帅的,年轻的……”

  “哦,那等你醒了以后再讨论这个问题。”

  我从床上拎起一只枕头砸在陈许头上,他说:“别闹别闹,我这设计明天要交的。”一边把枕头又抛回到床上。

  我不死心,踮着脚绕到陈许面前,转了个圈:“看看,我这套内衣性感吗?”

  陈许的眼睛用十分之一秒瞟了我一下:“可惜有一圈肥肉。”

  “我要杀掉你,陈许。”我一字一顿地说。

  这次,连半点声息也没有了。

  我于是变成那只技穷的驴子,叹口气,孤苦伶仃地走到鱼缸边,看我的鱼。

  我喜欢我的鱼,我觉得它们是这间屋子里唯一属于我的东西,也是这屋里唯一愿意听我说话,又不让我生气的——动物。连陈许也是这样认为的,他总是说:“喂,你的小鱼又死掉一条!”或者“你的小鱼想妈妈了,你给它们喂点吃的吧。”

  陈许的记性很好,总能在我忘记喂鱼的时候提醒我,但是他自己从来不喂,除非我出差去。

  所以我的鱼和他一点不亲,看见他走过去,就立刻躲到假山背后。

  我给每条鱼都起了名字,每天晚上点一次名。陈许自然是不记得的,只会说:“那条黑的好像拉肚子了,那条黄的得红眼病了。”他的嘴很妖,咒谁谁死,百试不爽。我说:“干脆你哪天念念我们老板的名字,这个恶人哪……”

  陈许白我一眼:“你把老板咒死了,谁给你饭吃?”

  “你呀!”我大叫。

  “哦。”他正好削了个梨,高高举起,“嗟,来食。”

  我和陈许就过着这样不痛不痒的日子。他从来不主动提结婚的事。每次被我旁敲侧击,逼得急了,他就说:“好呀,结就结吧,下星期二有空吗?”

  我好不容易积攒起来的一点结婚热情便会烟消云散,重新和他陷入冷战。

  我想,感情是经不起消磨的,结婚或许只会让这种磨损变得更快罢。

  看完鱼缸,我就看我的电脑。有意思的是,两样东西都隔着一层玻璃。

  同事介绍给我一个BBS,开始是没什么兴趣的,我早过了在网上聊天的年纪,那里又都是些二十来岁的大学生和小白领,和我生活在不相干的时空里面。可是渐渐的,我发现这未尝不是一种打发寂寞的好办法,于是也在上面说些有聊或者无聊的话,只是隐瞒了年龄。

  等到网友聚会的时候,斑竹力邀我去,说我是这个版子的才女,想见我的男生宁可通宵排队。

  推辞不掉,去了。

  见到一群小朋友,吵着闹着。十八九岁的男生女生,就牵着手,互相称老婆和老公。想想我和陈许在一起7、8年,只对别人介绍说他是我的男朋友。这个世界,真的是不同了。

  吃完饭,小朋友们又前呼后拥地去唱歌,他们唱的歌,我大多没有听过,躲在一边,觉得自己像一只倦极的猫。

  告辞先走,一个网名叫Jay的男生自告奋勇来送我,这让我多少有点感动。快到家的时候,他问我要手机号码,我给了,他认真地输进自己的手机,说,好,我会打给你的。我懒懒地笑,你打给我做什么?他说,找你玩呀。我不语。

  过了一会儿,他忽然问:“你做我的女朋友好吗?”

  我大笑:“小朋友,你知道我比你大几岁吗?”

  他说:“我不在乎。”

  我一下子变得很凶:“可是我没有兴趣!我不玩你们的游戏,知道吗?我心情不好,不要来烦我!再见!”说完,扭头就走。走出很远,我悄悄回头,见他瘦削的身影还愣在路灯下面。

  第二天,我果然接到了电话。却不是Jay的,是那天聚会的另一个男生,大家都叫他一白,他是BBS上的大侠,众人景仰。我的每个帖子他都回复,而且妙语连珠。时间久了,和他就有了默契,很多帖子,只是为了等他的回复。

  一白是那群人里面,唯一一个年纪和我相仿的,高高瘦瘦,是我喜欢的类型。我其实也注意到他了。可是那个晚上,他被众人簇拥,我和他竟没有说一句话。

  电话里,他请我吃饭,我犹豫了两秒钟,答应了。

  见面的时候,我问:“就请我一个人吗?”他微微一笑:“你不想吗?”我不自然地笑了一下,掩饰自己的窘迫。

  忽然发现,自己竟然很久没有跟一个男生单独约会了。

  一白和陈许完全不同,他是那种天生就能讨女人欢心的人。他会说笑话,懂得调节饭桌上的气氛,夸我的衣服漂亮,主动帮我提购物袋。

  我和一白频频约会,把陈许抛在脑后。

  我坠入爱河。

  网上流传着很多一白的风流故事,我相信一半是玩笑,一半是夸张。

  我问一白:“你没有和我玩游戏吧?”

  他笑:“怎么会呢。”

  陈许还是忙,我甚至连和他摊牌的时间都找不到。

  那天,他又在做设计,我问:“陈许,你看见鱼缸里我今天新买的两条鱼吗?”“什么鱼?”

  “血鹦鹉,就是这两条。”

  他抬头看了一下,说:“哦,很漂亮,很胖,像你。”

  我懒得理会他的玩笑:“你知道么?它们是奇怪的品种,是一个商人无意中把两种鱼养在一起,杂交出来的,是在一个偶然的情况下,一次偶然的机遇中诞生的,它们很容易养活,却不能生育下一代。”

  陈许露出茫然的神色:“那又怎么样?”

  “陈许,你有没有觉得我们的感情就像这个品种的鱼,在无意中产生,很能忍耐,却不会有结果?”

  陈许叹气:“又来了……”

  我说:“你别叹气,这是最后一次了,我今天就搬出去,鱼缸过几天来拿,麻烦你喂一下……再告诉你,陈许,那两条血鹦鹉,我已经买了三个星期了。”

  真的是累了,连吵架的程序都一并省略。提着箱子出门,在出租车上,我给一白打电话。

  他接电话的声音永远是阳光明媚。

  “我和陈许分手了,这就到你那里去。”我说。

  “等一等……你在开玩笑?”他笑。

  “不开玩笑,真的,我现在就过去。”我听出隐约有些不对。

  他果然变得口吃起来:“不,不……你不知道,我这里,嗯,不方便,要不,你先在Holiday Inn住一晚,我们明天再商量?”

  “哦,不用了,”我冷冷地说,“我会有地方住的,我的钱还要用来养老,住不起Holiday Inn的。对不起,打扰你了。”

  我关掉电话,对司机说:“你开慢一点,让我想一想,到底去哪里。”

  二十分钟后,我到了Jay的门口。

  他接到我的电话,就喜出望外,早早出来恭候,颠颠地把我的箱子提了进去。这是一套两室一厅,他和另一个男生合租。

  我一屁股坐在他的床上,身心俱疲,半天才说:“Jay,我要在你这里住一阵,等我找到房子为止,麻烦你俩去隔壁睡,把这间让给我,我出一半房租。你把床上的脏袜子拿走,另外,把卫生间打扫一下,谢谢。”

  Jay目瞪口呆地站了半分钟,才转身出了房间。一会儿,我听见另一个男生在隔壁说:“靠,你的妈可真厉害……”然后,是一阵桌椅颠覆的声音。

  我在Jay的房子里住了下来,兴致好的时候,我给两个小男生做饭,吃得他们眉飞色舞,说什么也要免去我的那一份房租。

  我又回到了大学刚毕业时的自由状态。陈许和一白,仿佛从我的生活里面消失了。

  几个星期后,忽然接到陈许的电话。他还是不温不火的语气:“公司派我到美国培训2个月,明天早上的飞机,送不送我随便你。不过家里那缸鱼,只能你自己回来喂了。”

  我说:“鱼好吗?我的血鹦鹉还活着吗?”

  他嗯嗯啊啊了半天,才说:“你那些鱼我照顾不来,你自己回来看吧。”

  我的心凉了半截,想象着鱼缸里的惨相,黯然神伤。

  第二天下班,我回了家。

  开门,就急急奔去看我的鱼缸。

  我愣住了。

  一缸红色的,游动的鱼,50条,还是80条血鹦鹉,把整个鱼缸染成了血的颜色,每条都一样红,一样胖。我再也找不到自己的那两条。

  我手足无措地站在那里,有温热的液体顺着脸颊流下。

  背后,忽然传来开启门锁的声音。

  我扭头,正好门开,陈许捧着一大束玫瑰花走进来。

  他的脸上应该有灿烂的笑容,可惜,我的视线已经模糊。
Tags: ,
分页: 81/196 第一页 上页 76 77 78 79 80 81 82 83 84 85 下页 最后页 [ 显示模式: 摘要 | 列表 ]