-
Notifications
You must be signed in to change notification settings - Fork 5
bigmaliang/cmoon
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
介绍 ==== 在脚本语言众多的情况下,moon 是web开发的一种C语言解决方案。 他主要是一些web开发常用的库和组件集合。 应用初始骨架请参考 github.com/bigml/reage 应用具体实例请参考 github.com/bigml/dida 使用moon开发的网站应用,主要有: 106.187.96.70 imdida.org (需绑定host访问) www.kosherall.com.cn $ git clone --recursive git://github.com/bigml/cmoon.git # mkdir -p /var/log/moon/ && chmod 777 /var/log/moon/ 系统性能 ====== 测试对象 测试时间 响应数/秒 失败率 php-fpm 180秒 19066.339 0.017191% moon 180秒 20281.45 0.022023% 详细请参考 doc/webbench/dynamic-get-s.txt 通过使用 webbench 进行跨机器、高速内网环境测试, 动态页面获取, 无业务逻辑情况下, moon(unix domain socket fastcgi) 与 php-fpm 的响应性能基本没有差别。 目录结构 ======= moon/ |-- Make.env 编译相关宏定义 |-- Makefile 编译文件 |-- maketool 编译辅助工具 |-- mtools 常用管理脚本 |-- doc 各种文档 | |-- lib 内部公共库文件目录 |-- event 支持插件的高并发处理缓冲层后台, 详情请参考该目录文档和代码 | |-- deliver web push 解决方案 (参考 deliver/README) `-- eii 中文分词工具(暂无内容) 开发环境 ======= Debian RedHat apt-get install locales dpkg-reconfigure locales git git-core git.i386 lighttpd spawn-fcgi spawn-fcgi.i386 postgresql postgresql-server.i386 libpq-dev postgresql84-devel.i386 libevent-dev libevent-devel.i386 libfcgi-dev fcgi-devel.i386 (http://www.fastcgi.com/dist/fcgi.tar.gz) libmemcached-dev libmemcached-devel.i386 libjson0-dev https://github.com/jehiah/json-c libgd2-xpm-dev gd-devel.386 pkg-config /usr/local/src/ 目录下手动安装 --------------------------- clearsilver http://clearsilver.googlecode.com/svn/trunk/ clearsilver depend on streamhtmlparser http://streamhtmlparser.googlecode.com/svn/trunk/ streamhtmlparser ./autogen.sh --disable-wdb --disable-perl --disable-ruby --disable-java --disable-python mkdir libs cd streamhtmlparser; make; cd .. cp streamhtmlparser/.libs/libstreamhtmlparser.so libs/ cp streamhtmlparser/.libs/* /usr/local/lib/ mkdir -p man/man3/ touch man/man3/1.3 (clearsilver代码需稍作修改, patch -p0 -i lib/patches/cs.diff, 可能需要 path -i lib/patches/rules.diff) make eMail git://github.com/deanproxy/eMail.git depend on dlib git://github.com/deanproxy/dlib.git discount git://github.com/Orc/discount.git libmongoclient https://github.com/algernon/libmongo-client.git (代码需要稍作修改,patch -p0 -i lib/patches/libmongoclient.diff) 修改Make.env,各种库的依赖路径, 如果装好上面软件后还出现编译错误, 请自行修改 Make.env 之 DEPEND LIBRARY 部分. 能编译通过后,请参考应用 doc/system.txt 文档准备数据库和 web 服务器环境,便可以开始开发。 注: == 1. 代码规范请参考 doc/spec.c 用 4 个空格缩进,请不要使用Tab缩进。 (setq-default indent-tabs-mode nil) in ~/.emacs 2. RESERVED key in request url /json/xxx: output json /image/xxx: output image _op: add, mod, del for ... _nmax: max number _nmin: min number _ntt: total number _nst: start number _npg: page number (_nst will overwrite _npg) _npp: number perpage _type_object: 请求中包含对象/数组时,该参数的值让 viki 将其当作对象解析,多个对象时逗号隔开 ADD /json/zero/image 上传图片 _upfile_data_type: 说明上传文件的数据类型 text 文本文件,对应js的 readAsText(file) binstr 二进制流,对应js的 readAsBinaryString(file) dataurl base64编码过的字符串,确保 url 传输安全,对应js的 readAsDataURL(file)
About
Something basic about web written in C (trace, db, data backend, ...).
Resources
Stars
Watchers
Forks
Packages 0
No packages published