0

11309

mac编译安装nginx的那些坑

乐果   发表于   2015 年 04 月 13 日

去官网下载nginx压缩包解压后,进入根目录,执行:

./configure \
--prefix=/data/service/nginx \
--sbin-path=/data/service/nginx/sbin/nginx \
--conf-path=/data/service/nginx/conf/nginx.conf \
--pid-path=/data/service/nginx/logs/nginx.pid \
--lock-path=/data/service/nginx/lock/nginx.lock \
--error-log-path=/data/service/nginx/logs/error.log \
--http-log-path=/data/service/nginx/logs/access.log \
--http-scgi-temp-path=/data/service/nginx/scgi \
--http-uwsgi-temp-path=/data/service/nginx/uwsgi \
--http-proxy-temp-path=/data/service/nginx/proxy \
--http-fastcgi-temp-path=/data/service/nginx/fastcig \
--http-client-body-temp-path=/data/service/nginx/body \
--user=nobody \
--group=nogroup \
--with-ipv6 \
......

标签:mac 继续阅读

0

3987

Go 语言使用 TCP keepalive

乐果   发表于   2015 年 03 月 13 日

如果你写过某些 TCP socket 代码,你可能会疑问:如果网线被拨掉或者远程主机崩溃了我的TCP连接会怎样?

简短的答案是:一点影响都没有。这种情况下连接的结束远程主机是不会发送FIN数据包的,并且本地系统不能检测连接是否已中断。所以需要作为程序员的你来解决这种情况。

GO语言为你提供了解决这个问题的几种方法。首选的方法可能是 net.Conn 接口中的SetReadDeadline方法。假设你的连接在以一种特定的间隔来接收数据,你可以简单地把读取超时当作一个io.EOF错误并Close这个连接。很多现有的TCP协议都支持处理错误的这种方法,它们通过定义某种心跳机制或 service health 1,在端点间以特定间隔发送PING/PONG探测包来检测双方网络问题。另外,这种心跳机制也可能有助于代理服务器查看网络活动来决定连接的健康质量。

所以,如果你的协议支持心跳的话,或者你能够为自己的协议加入心跳的话,这个方案应该是解决网络掉线问题的首选。

但是,如果你对该协议没有控制权并且它也不支持心跳你该怎么办?

现在是时候该了解 TCP keepalive并在GO中使用它了。TCP keepalive定义于RFC 1122,但并不是TCP规范中的一部分。它可以在个别的连接中启用,但默认必需是关闭的。启用它会使网络栈在空闲了特定时间后(不能低于2小时)探测连接的连接状况。探测包不能包含数据2,并且一个探测包的回复的失败不能将连接看作已中断,因为探测包的传输是不可靠的。

……

标签:golang 继续阅读

0

3757

啪啪江湖正式上线

乐果   发表于   2015 年 03 月 11 日

啪啪江湖—无运动不江湖,一款基于运动项目的线上约赛、线下比赛的社交应用,使用者可以通过啪啪江湖,在线寻找运动爱好者,并发送约赛消息,邀请对方到线下的球场来见面并进行比赛,也可自己发起比赛,等对方来约赛,一对一单挑,多对多团战,比赛你来做主,规则你来定义,比赛结束后打开啪啪江湖应用,并提交比分,产生相应的积分和新的排名,即可分享自己的排行榜到各大社交平台展示。

让运动“更好玩”,认识更多的运动爱好者,引领生活新风尚。

啪啪江湖应用是由深圳市啪啪运动文化传播有限公司开发,于2015年3月6号正式上线。 ……

标签:papa啪啪运动 继续阅读

0

17792

ubuntu编译安装PostgreSQL(安装实例)

乐果   发表于   2015 年 03 月 03 日

第一步,编译安装:

sudo ./configure --prefix=/opt/service/pgsql

报错:

configure: error: readline library not found

解决办法:

sudo apt-get install libreadline-gplv2-dev

报错:

configure: error: zlib library not found

解决办法:

sudo apt-get install zlib1g-dev

编译:

sudo make

报错:

make: command not found

解决办法

sudo apt-get install build-essential

……

标签:postgresqlubuntu 继续阅读

较旧的笔记 较新的笔记