A Coder

Coding My Dream!

0%

3. 在Debian上安装MariaDB
—————-

想在我们来到了LEMP安装的最后一步了,我们要安装的是MariaDB而不是Mysql。我们知道Mysql现在在oracle手上,可能在不久将会商业化。所以大部分的公司开始转向MariaDB。好消息是MariaDB兼容mysql并增加了很多的功能,所以如果你的php应用使用的是mysql,你可无缝转换到MariaDB。


MariaDB 现在不再debian包仓库中,可以从以下地址添加源

https://downloads.mariadb.org/mariadb/repositories/


阅读全文 »

2. 安装php和php-fpm
—————-

接下来的事情要安装的是PHP解释器和PHP-FPM。 PHP-FPM是PHP专用的来管理处理PHP请求的FastCGI进程管理器,它兼容的大部分WEB服务器。

Nginx <== 通信 ==> Php-FPM <== 管理 ==> php child process

首先安装必要的包。

apt-get install php5 php5-fpm

它会自动安装相关依赖包,如果你需要用命令行运行脚本,你可以安装 ‘php5-cli’ 包

Php-fpm 以单独的服务器运行,并且使用套接字(socket)与nginx通信。因此,php的执行是完全与nginx隔离的,此外由于fpm保持php进程持续,所以它完全支持APC。


现在,我们看一下php-fpm配置文件,文件在

/etc/php5/fpm/

进程池(Pool)是一组具有相同的用户/组运行PHP进程。所以如果你想每个网站的脚本以独立的用户权限运行,你需要创建独立的fpm进程池。为了简单起见,我们在这只演示单个进程池。
The pool configuration files are inside the pool.d directory. Navigate in
进程池的配置文件在pool.d目录。如下

root@localhost:/etc/php5/fpm/pool.d# ls
www.conf


阅读全文 »

配置 Debian 是作为Linux Web服务器,是一个非常不错的选择,她是当前仅次于Centos的最受欢迎的服务器操作系统。我非常喜爱在系统上使用apt/dpkg/gedbi命令去安装和更新软件包,这非常方便。

安装一个功能完善的php 服务器环境,你需要安装一整套的配套软件,包括一个网页服务器,一个数据库。在本篇文章中,我们将安装配置nginx, php, php-fpm, apc 和 MariaDB。

Nginx是一个新潮的网页服务器,它被设计成为能承受巨大网络流量而且使用最少的内存和CPU占用量。在Nginx出现之前,独步武林的网页服务器是Apache。然而,随着互联网的越来越流行,就需要一个更快速,效率更高的网页服务器。


阅读全文 »

英文原文:http://wiki.nginx.org/Fcgiwrap

本文是关于如何在nginx上使用CGI的简单教程。

本文引用自:http://nginx.localdomain.pl/wiki/FcgiWrap

网上也有一些人的教程,但是他们的方法会可能比较麻烦,我的目标是引导你使用一个清晰的方法。

在 Debian 或 Ubuntu 中安装
———————

在 Debian 和 Ubuntu 中已经有可用的包。简单输入

aptitude install fcgiwrap

这时,你可以看一下项目文档说明,文件在/usr/share/doc/fcgiwrap/README.Debian。示例的配置文件在/usr/share/doc/fcgiwrap/examples/nginx.conf

接下来的要做的就是创建一个配置文件副本到nginx配置目录(这样不会在fcgiwrap更新时被覆盖)。

cp /usr/share/doc/fcgiwrap/examples/nginx.conf /etc/nginx/fcgiwrap.conf

在需要使用CGI是,在nginx配置文件的”server”节点增加以下代码

# fast cgi support
include /etc/nginx/fcgiwrap.conf;

这个deb包包含了一个改进过的init脚本(/etc/init.d/fcgiwrap),和下面的给出的是一样的。安装完包后,可以看一下 HttpFcgiModule 文档和 FcgiExample 示例。


阅读全文 »

今天在中文版 Apple 官方 Swift 教程《The Swift Programming Language》 发现了奇葩的授权协议–WTFPL

WTFPL

WTFPL(Do What The Fuck You Want To Public License,中文译名:你他妈的想干嘛就干嘛公共许可证)是一种不太常用的、极度放任的自由软件许可证。

协议内容

           DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
                   Version 2, December 2004

Copyright (C) 2004 Sam Hocevar <sam@hocevar.net>

Everyone is permitted to copy and distribute verbatim or modified
copies of this license document, and changing it is allowed as long
as the name is changed.

           DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
  TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION

 0. You just DO WHAT THE FUCK YOU WANT TO.

翻译

你他妈的想干嘛就干嘛公共许可证
第2版,2004年12月

版权所有 (C) 2004 桑·奥塞瓦 <sam@hocevar.net>

任何人都准许复制和发行该许可证原始或修改后的副本。只要修改名称,就可以修改该许可证。

你他妈的想干嘛就干嘛公共许可证
复制、再发布和修改的条款及条件

0. 你他妈的想干嘛就干嘛好了。

> 以下的几个题目是我在来源中国手机端看到的,觉得挺有价值,所以转载分享大家,总体的思路都是大事化小,将大数据使用hash分为多个小文件,再对这些文件进行计算,最后合并结果。


1. 给定a、b两个文件,各存放50亿个url,每个url各占64字节,内存限制是4G,让你找出a、b文件共同的url?

  方案1:可以估计每个文件安的大小为50G×64=320G,远远大于内存限制的4G。所以不可能将其完全加载到内存中处理。考虑采取分而治之的方法。

遍历文件a,对每个url求取,然后根据所取得的值将url分别存储到1000个小文件(记为)中。这样每个小文件的大约为300M。

遍历文件b,采取和a相同的方式将url分别存储到1000小文件中(记为)。这样处理后,所有可能相同的url都在对应的小文件()中,不对应的小文件不可能有相同的url。然后我们只要求出1000对小文件中相同的url即可。

求每对小文件中相同的url时,可以把其中一个小文件的url存储到hash_set中。然后遍历另一个小文件的每个url,看其是否在刚才构建的hash_set中,如果是,那么就是共同的url,存到文件里面就可以了。

  方案2:如果允许有一定的错误率,可以使用Bloom filter,4G内存大概可以表示340亿bit。将其中一个文件中的url使用Bloom filter映射为这340亿bit,然后挨个读取另外一个文件的url,检查是否与Bloom filter,如果是,那么该url应该是共同的url(注意会有一定的错误率)。


阅读全文 »

上周末,我们部门走了一场预谋已久的旅程,从2个月前开始安排策划,结果计划赶不上变化,现实总是太残酷,事情都需要做充分的准备,且要考虑周全,最后还需要看运气,我们一行上演了一次人在迥途。

上午10点我们到达码头,却被告知船已经开了,且两天才一班船,而后经过十几分钟的休整,我们定下了下一个目标–高楼,正当大家兴致勃勃乘上车,吃着零食,还唱着歌,没想到前方事故,堵了三个小时,到了高楼时已经是下午四五点。

尽管开头不尽人意,但接下来的事情还是挺顺利的,吃了烧烤,划了皮艇,游山玩水一番,吃了特色猪头爿。总算为忙碌的生活增添了一些色彩。

阅读全文 »

安排了几个月的行程终于出发了,中间出现了一次重大变故,就在临近出发时又出现状况,很遗憾两位欢乐主力琐事缠身没能和我们一起出来,这次的旅程一定要玩好吃好喝好,向着钓鱼岛,出发!

阅读全文 »

这几天google一直被封着,Gravatar 也是遭了殃,打开自己的网站,发现奇慢无比,检查了之后发现是评论头像出现问题了。于是baidu了一翻,发现了国内的Gravatar代理服务多说,多说应该说在博客圈已经很熟悉了,特别是一些静态生成的博客,比如typecho新发布的logecho,要实现评论只能嵌入社会化评论系统。废话不说,上菜~

使用效果,头像秒速加载完成!

原理:对头像地址进行了替换

相关网址:通过多说服务器缓存加速Gravatar 头像,解决被墙问题

设置方法:

avartar.png

代码托管:

http://git.loftor.com/typecho-plugins.git/

下载地址:

Avartar_1.0.zip