那一夜,我们都做俯卧撑

From: http://www.hecaitou.net/?p=3173

传说中,你只要在凌晨邀齐两男两女,坐在桥上然后开始做俯卧撑。那么,做到第三个的时候,就能召唤出神龙。为了证明这件事,我们做了一夜的俯卧撑。

为什么是俯卧撑?为什么不是失意体前曲?没有人知道。就像为什么菩提老祖他是葡萄,而一定不是苹果一样,也许就是专门为了下凡打救谁吧?为什么在那样的一个夜晚里,在那样的一座桥上,突如其来的有了做俯卧撑的冲动?

也许是需要个细节,模仿一幅画最需要处理好的就是细节。也许需要个理由,说明青春的躁动可以发生任何事情,包括俯卧撑,包括被自杀。是什么不重要,重要的是所有人做了一夜的俯卧撑,但是没有听到水响。

可以这么学习和理解俯卧撑这种运动:去到一个衣料很少的站点,下载一段视频教材。教材会教导你什么是真正的俯卧撑,它有乘骑位的,也有69式的,还有传教士俯卧撑。传教士也需要做俯卧撑,因为这是上帝的旨意。不做的话,传教士就会绝种。可以想见,俯卧撑的意义何其重大。

虽然俯卧撑如此重要,但是叫我半夜里一个人在桥上自己数着数做,还是会让我觉得很失落,很空虚,很不爽。这是如此的不爽,以至于谁那么说,我都想把他按翻,对住他后面开始狠狠地俯卧撑,看看做到第三个的时候,是否能召唤出传说中的神龙。

http://www.fuwocheng.com/

Tags: 俯卧撑

lighttpd + PHP(fastcgi) 配置

php(fastcgi) 5.2.6 编译参数

./configure  --prefix=/usr/local/php --with-mysql=/usr/local/mysql --with-gd=/usr --enable-calendar --with-zlib --with-bz2 --with-curl --with-mysqli=/usr/local/mysql/bin/mysql_config --enable-mbstring --with-openssl --enable-zend-multibyte --with-gettext --enable-exif --with-png-dir=/usr --with-jpeg-dir=/usr --with-libxml-dir=/usr --enable-gd-native-ttf --enable-dom --with-freetype-dir=/usr --with-iconv-dir=/usr --enable-fastcgi

lighttpd 1.5.0 编译参数

./configure --prefix=/usr/local/lighttpd --with-mysql=/usr/bin/mysql_config --with-openssl --with-pcre --with-bzip2 --enable-lfs --with-linux-aio

添加fastcgi 及lighttpd执行用户

groupadd www
useradd -g www -s /sbin/nologin -d /dev/null www

复制lighttpd源码包内 doc/spawn-php.sh 并修改如下

  1. #!/bin/bash
  2.  
  3. ## ABSOLUTE path to the spawn-fcgi binary
  4. SPAWNFCGI="/usr/local/lighttpd/bin/spawn-fcgi"
  5.  
  6. ## ABSOLUTE path to the PHP binary
  7. FCGIPROGRAM="/usr/local/php/bin/php-cgi"
  8.  
  9. ## TCP port to which to bind on localhost
  10. FCGIPORT="1026"
  11.  
  12. ## SOCKET to which to bind on localhost
  13. FCGISOCKET="/tmp/php-fastcgi1.sock"
  14.  
  15. ## number of PHP children to spawn
  16. PHP_FCGI_CHILDREN=16
  17.  
  18. ## maximum number of requests a single PHP process can serve before it is restarted
  19. PHP_FCGI_MAX_REQUESTS=1000
  20.  
  21. ## IP addresses from which PHP should access server connections
  22. FCGI_WEB_SERVER_ADDRS="127.0.0.1"
  23.  
  24. # allowed environment variables, separated by spaces
  25. ALLOWED_ENV="HOME PATH USER"
  26.  
  27. ## if this script is run as root, switch to the following user
  28. USERID=www
  29. GROUPID=www
  30.  
  31.  
  32. ################## no config below this line
  33.  
  34. if test x$PHP_FCGI_CHILDREN = x; then
  35.   PHP_FCGI_CHILDREN=5
  36. fi
  37.  
  38. export PHP_FCGI_MAX_REQUESTS
  39. export FCGI_WEB_SERVER_ADDRS
  40.  
  41. ALLOWED_ENV="$ALLOWED_ENV PHP_FCGI_MAX_REQUESTS FCGI_WEB_SERVER_ADDRS"
  42.  
  43. # port
  44. #if test x$UID = x0; then
  45. #  EX="$SPAWNFCGI -p $FCGIPORT -f $FCGIPROGRAM -u $USERID -g $GROUPID -C $PHP_FCGI_CHILDREN"
  46. #else
  47. #  EX="$SPAWNFCGI -p $FCGIPORT -f $FCGIPROGRAM -C $PHP_FCGI_CHILDREN"
  48. #fi
  49.  
  50. # socket
  51. if test x$UID = x0; then
  52.   EX="$SPAWNFCGI  -s $FCGISOCKET -f $FCGIPROGRAM -u $USERID -g $GROUPID -C $PHP_FCGI_CHILDREN"
  53. else
  54.   EX="$SPAWNFCGI  -s $FCGISOCKET -f $FCGIPROGRAM -C $PHP_FCGI_CHILDREN"
  55. fi
  56.  
  57. # copy the allowed environment variables
  58. E=
  59.  
  60. for i in $ALLOWED_ENV; do
  61.   E="$E $i=${!i}"
  62. done
  63.  
  64. # clean the environment and set up a new one
  65. env - $E $EX

保存为 spawn-php1.sh 放到 /etc/lighttpd 下, 多个fastcgi实例可复制此文件并修改相关端口号及socket

lighttpd 相关配置 lighttpd.conf 如下

  1. server.use-ipv6 = "disable" # 缺省为禁用
  2. server.event-handler = "linux-sysepoll" # Linux环境下epoll系统调用可提高吞吐量
  3. #server.max-worker = 10 # 如果你的系统资源没跑满,可考虑调高  lighttpd进程数
  4. server.max-fds = 4096 # 默认的,应该够用了,可根据实际情况调整
  5. server.max-connections = 4096 # 默认等于 server.max-fds
  6. server.network-backend = "linux-sendfile"
  7. server.max-keep-alive-requests = 0 # 在一个keep-alive会话终止连接前能接受处理的最大请求数。0为禁止
  8.  
  9. # 设置要加载的module
  10. server.modules = (
  11.     "mod_rewrite",
  12.     "mod_redirect",
  13. #    "mod_alias",
  14.     "mod_access",
  15. #    "mod_cml",
  16. #    "mod_trigger_b4_dl",
  17.     "mod_auth",
  18.     "mod_expire",
  19. #    "mod_status",
  20. #    "mod_setenv",
  21.     "mod_proxy_core",
  22.     "mod_proxy_backend_http",
  23.     "mod_proxy_backend_fastcgi",
  24. #    "mod_proxy_backend_scgi",
  25. #    "mod_proxy_backend_ajp13",
  26. #    "mod_simple_vhost",
  27.     "mod_evhost",
  28. #    "mod_userdir",
  29. #    "mod_cgi",
  30.     "mod_compress",
  31. #    "mod_ssi",
  32. #    "mod_usertrack",
  33. #    "mod_secdownload",
  34. #    "mod_rrdtool",
  35.     "mod_accesslog" )
  36.  
  37. # 网站根目录
  38. server.document-root = "/var/www/"
  39.  
  40. # 错误日志位置
  41. server.errorlog = "/var/log/lighttpd/error.log"
  42.  
  43. # 网站Index
  44. index-file.names = ( "index.php", "index.html",
  45.                                  "index.htm", "default.htm" )
  46.  
  47. # 访问日志, 以及日志格式 (combined), 使用X-Forwarded-For可越过代理读取真实ip
  48. accesslog.filename = "/var/log/lighttpd/access.log"
  49. accesslog.format = "%{X-Forwarded-For}i %v %u %t \"%r\" %s %b  \"%{User-Agent}i\" \"%{Referer}i\""
  50.  
  51. # 设置禁止访问的文件扩展名
  52. url.access-deny = ( "~", ".inc", ".tpl" )
  53.  
  54. # 服务监听端口
  55. server.port = 80
  56.  
  57. # 进程id记录位置
  58. server.pid-file = "/var/run/lighttpd.pid"
  59.  
  60. # virtual directory listings 如果没有找到index文件就列出目录。建议disable。
  61. dir-listing.activate = "disable"
  62.  
  63. # 服务运行使用的用户及用户组
  64. server.username = "www"
  65. server.groupname = "www"
  66.  
  67. # gzip压缩存放的目录以及需要压缩的文件类型
  68. compress.cache-dir = "/tmp/lighttpd/cache/compress/"
  69. compress.filetype = ("text/plain", "text/html")
  70.  
  71. # fastcgi module
  72. # for PHP don't forget to set cgi.fix_pathinfo = 1 in the php.ini
  73. $HTTP["url"] =~ "\.php$" {
  74.     proxy-core.balancer = "round-robin"
  75.     proxy-core.allow-x-sendfile = "enable"
  76. #    proxy-core.check-local = "enable"
  77.     proxy-core.protocol = "fastcgi"
  78.     proxy-core.backends = ( "unix:/tmp/php-fastcgi1.sock","unix:/tmp/php-fastcgi2.sock" )
  79.     proxy-core.max-pool-size = 16
  80. }
  81.  
  82. # 权限控制
  83. auth.backend = "htpasswd"
  84. auth.backend.htpasswd.userfile = "/var/www/htpasswd.userfile"
  85.  
  86. # 基于 evhost 的虚拟主机 针对域名
  87. $HTTP["host"] == "a.lostk.com" {
  88.     server.document-root = "/var/www/lostk/"
  89.     server.errorlog = "/var/log/lighttpd/lostk-error.log"
  90.     accesslog.filename = "/var/log/lighttpd/lostk-access.log"
  91.  
  92.     # 设定文件过期时间
  93.     expire.url = (
  94.         "/css/" => "access 2 hours",
  95.         "/js/" => "access 2 hours",
  96.     )
  97.  
  98.     # url 跳转
  99.     url.redirect = (
  100.         "^/$" => "/xxx/index.html",
  101.     )
  102.  
  103.     # url 重写 (cakephp可用)
  104.     url.rewrite = (
  105.         "^/(css|js)/(.*)$" => "/$1/$2",
  106.         "^/([^.]+)$" => "/index.php?url=$1",
  107.     )
  108.  
  109.     # 权限控制
  110.     auth.require   = ( "" =>
  111.          (
  112.             "method" => "basic",
  113.             "realm" => "admin only",
  114.             "require" => "user=admin1|user=admin2"  # 允许的用户, 用户列表文件 在上面配置的auth.backend.htpasswd.userfile 里
  115.         ),
  116.     )
  117. }
  118.  
  119. # 针对端口的虚拟主机
  120. $SERVER["socket"] == "192.168.0.1:8000" {
  121.     server.document-root        = "/var/www/xxx/"
  122.     server.errorlog = "/var/log/lighttpd/test-error.log"
  123.     accesslog.filename = "/var/log/lighttpd/test-access.log"
  124.  
  125.    # ...
  126. }

# fastcgi 以及 lighttpd 启动脚本

  1. #!/bin/sh
  2. startphp(){
  3.     /etc/lighttpd/spawn-php1.sh
  4.     /etc/lighttpd/spawn-php2.sh
  5. }
  6.  
  7. starthttpd(){
  8.     /usr/local/lighttpd/sbin/lighttpd -f /etc/lighttpd/lighttpd.conf
  9. }
  10.  
  11. start(){
  12.     startphp
  13.     starthttpd
  14. }
  15.  
  16. stopphp(){
  17.     killall php-cgi
  18. }
  19.  
  20. stophttpd(){
  21.     killall lighttpd
  22. }
  23.  
  24. stop(){
  25.     killall php-cgi lighttpd
  26. }
  27.  
  28. case "$1" in
  29.     start)
  30.         start
  31.         ;;
  32.     startphp)
  33.         startphp
  34.         ;;
  35.     starthttpd)
  36.         starthttpd
  37.         ;;
  38.     stop)
  39.         stop
  40.     ;;
  41.     stopphp)
  42.         stopphp
  43.         ;;
  44.     stophttpd)
  45.         stophttpd
  46.         ;;
  47.     *)
  48.         echo "Usage: lighttpd {start|stop|startphp|starthttpd|stopphp|stophttpd}"
  49.         RETVAL=1
  50. esac
Tags: php lighttpd fastcgi

Just One Last Dance——弥漫着浪漫的蓝色情调,来自全球节奏蓝调歌后Sarah Connor

音乐人介绍:

Sarah Connor 德国

21世纪的开端,芳龄23岁的德国女生Sarah Connor,以甜美、带劲的节奏蓝调歌唱实力开始征服欧洲乐坛,祖父的纽澳良血缘让她在幼年时期即深受蓝调灵魂乐的薰陶,14岁时开始在教堂唱诗班担任演唱,并在学校演唱音乐剧,15、16岁便以试唱带向各大音乐厂牌投石问路。

2001年春季,Sarah Connor以挑动情欲的处女单曲“Let's Get Back To The Bed Boy”,绽放狂野性格,歌曲强势占领德国排行榜亚军,并挥军直入欧陆各国排行榜TOP 10,抢攻欧洲流行单曲榜TOP 15;第二首单曲“French Kissing”转而释放灵魂乐的性感魅力,同年底改走情歌路线,推出感人恋曲“From Sarah With Love”成绩益发耀眼,光在德国就卖出75万张,歌曲轻易摘下德国榜冠军后座,窜登欧洲Music & Media排行榜TOP 5,并在瑞典与奥地利创造金唱片开出销售红盘;紧接着首张大碟《Green Eyed Soul》更上层楼,不但直袭德国专辑榜亚军,也攻克荷兰、波兰、芬兰、葡萄牙、希腊等国排行TOP 10,2002年3月,Sarah Connor获颁德国乐坛最高荣耀的Echo音乐奖最佳流行摇滚女歌手大奖,稍后更勇夺Goldene Europe音乐奖最成功女歌手奖。美国嘻哈大将Wyclef Jean耳闻Sarah歌唱魅力,特地跨刀制作谱写并合唱一曲“One Nite Stand(Of Wolves And Sheep)”,Sarah Connor已然跻身全球节奏蓝调歌后之林。

2003年进军国际乐坛的大碟《Bounce》展露Sarah Connor多样化的流行节奏蓝调风情,从挑战Toni Braxton抒情唱功的凄美恋曲“From Sarah With Love”、到与嘻哈大将Wyclef Jean交手的激爆火辣风情力作“One Nite Stand(Of Wolves And Sheep)”、放克艳情劲奏“He's Unbelievable”、街舞劲歌“Bounce”,她那收放自如的情感唱腔马上就要征服你的听觉世界了!

Just One Last Dance
歌词:

We meet in the night in the Spanish café 我们在夜晚的西班牙咖啡吧相遇
I look in your eyes 凝视你的双眼
Just don't know what to say 却无语
It feels like I'm drowning in salty water 就象是溺水在咸涩的大海里

A few hours left til the sun's gonna rise 朝阳片刻就要升起
Tomorrow will come 明天即将到来
It's time to realize 是时候清醒
Our love has finished forever 我们的爱情已经结束
How I wish to come with you 我多么希望可以跟随着你
How I wish we make it thru 多么希望和你一起度过一切难关

Just one last dance 最后一支舞
Before we say goodbye 在我们分手之前
When we sway and turn around and around and around 当我们跟着节奏轻轻舞动,不断旋转
It's like the first time 就像是回到与你跳的第一支舞的感觉

Just one more chance 最后一次机会
Hold me tight and keep me warm 抱紧我不要让我冷却
Cause the night is getting cold 因为夜晚越见凄凉
And I don't know where I belong 我却迷失归属的方向
Just one last dance最后一支舞

The wine and the lights 葡萄酒 灯光
And the Spanish guitar 和一把西班牙吉他
I'll never forget how romantic they are 永远无法忘记他们带来的浪漫
But I know 但我清楚
Tomorrow I'll lose the one I love 明天我会失去唯一所爱
浪漫、优雅、忧郁的一曲,即使明天我们就要分手,请陪我跳完最后一支舞,明天我将会失去唯一所爱,命运使我们在一起,命运却又将我们分离。眼神里是无尽的不舍。

Tags: sarah connor, 爱情