- 授权协议: LGPL
- 开发语言: Python
- 操作系统: Linux
- 软件首页: https://code.google.com/archive/p/simplecd/
- 软件文档: https://code.google.com/archive/p/simplecd/wikis
软件介绍
SimpleCD是什么?
是山寨化VeryCD的全套工具,包括抓取脚本,网站代码等
谁需要使用SimpleCD?
想保存VeryCD链接资源者:别镜像VeryCD了,用这个吧。
想研究爬虫脚本和python语法者:其实写得挺烂的,勉强能用而已。
想研究web.py+sqlite3网站架设的爱好者:说学习是抬举我了,一周以前我也既不懂web.py 又不懂sql数据库。
想测试自己虚拟主机性能者:没错,毕竟是1G的数 据库,能跑而且能跑得顺畅的均非等闲主机
SimpleCD长啥 样子?
simplecd架设完毕的例子:http://www.simplecd.org
为什么用web.py?
抓网站用的是python,用python系的框架能更好的整合
比较了一下django和web.py,更喜欢web.py那种“用python写网站”,而不是django那 种“用django写网站”的风格。
为什么使用 sqlite做数据库?
最开始是因为python自带,简单 易用
现在是因为实际表现比mysql好10倍:http://obmem.com/?p=317
sqlite的弱点是高并发可能会锁死数据库,但是我已经找到解决方案,就是等什么时候有空研究一下怎么写代码。
其他
我的个人主页,有源码的实现细节,欢迎来踩:http://obmem.com
博客中 VeryCD相关: http://obmem.com/?tag=verycd
更直观的架设攻略请参考视频: http://www.simplecd.org/static/tutorial.html
SimpleCD使用方法
1.需求:
所有可以架设web.py的地方,例如:
一个VPS(Virtual Dedicated Server)(参考Xen和OpenVZ测试(附VPS推荐))
一 个支持web.py的国外共享主机(例如dreamhost架设web.py攻略)
一个支持web.py的国内共享主机(例如stdyun.com 架设web.py攻略)
推荐配置:
Xen VPS 需要至少768MB内存的Linux VPS
OpenVZ VPS 需要Burstable内存至少512MB内存的Linux VPS,基本内存可以小一点没问题。
内 存太少的解决方法:
修改nginx/spawn-fcgi.sh中"-F 2"改为"-F 1",只使用一个守护进程
重 新写一个资源占用较低的框架来存取sqlite3。sqlite3直接存取占内存不大。
不要试图 用mysql来取代sqlite,mysql效率更低
本教程基于操作系统Ubuntu 9.04 由于玩VPS的都非善类,相信其他操作系统的架设都能自己解决
2.修改软件源
我们要用新软件,所以直接修改/etc/apt/sources.list 把其中的jaunty改为karmic,用9.10的软件源 :)
然后更新一下
apt-get update
接下来分别安装nginx,spawn-fcgi,和mercurial
apt-get install nginx
apt-get install spawn-fcgi
apt-get install mercurial
再接下来是easy_install的安装,以及安装web.py和flup
apt-get install python-setuptools
easy_install web.py
easy_install flup
3. 简易架设攻略
下载源码
cd /var/www
hg clone https://simplecd.googlecode.com/hg simplecd
cd simplecd
hg update deployment
接下来做一些基本的配置
#创建数据库
./fetchvc.py createdb
#nginx的配置文件(请根据视频进行相应修改)
cp nginx/nginx.conf /etc/nginx/
cp nginx/simplecd /etc/nginx/site-available/
ln -s /etc/nginx/site-available/simplecd /etc/nginx/site-enabled/simplecd
#用spawn-fcgi开fcgi
nginx/spawn-fcgi.sh
#开启nginx服务
/etc/init.d/nginx start
好了,大功告成,访问vps的地址看看,应该已经架设完毕了
4.simplecd的使用
一些数 据库的更新方法:
上一步中的数据库还是空的,必须下载数据库,数据库更新方法如下
./fetchvc.py feed #按照feed更新数据库
./fetchvc.py update #更新主页的前20页数据
./fetchvc.py fetch q=海猫 #在verycd搜索所有关于海猫的内容并更新到数据库
./fetchvc.py fetch TopicID #直接更新topicid
./fetchvc.py fetchall #更新全部数据库,建议还是不要尝试为好
./fetchvc.py fetch 1000-1001 #更新verycd的archives页面第1000页到1001页的内容
下载全数据库(截止2009.12.18)
eMule链接:
ed2k://%7Cfile%7Cverycd.sqlite3.db.lzma%7C233121378%7C0fd38cff1353e996576f9f3e9b8c65dd%7C
解压: lzma -d verycd.sqlite3.db.lzma
然后放入 simplecd目录即可
设置自动更新
想让simplecd自动和VeryCD保持同步?
试试看 default branch的scdd.py:
hg update default
python scdd.py start
每隔15分钟看一下,如果成功的话应该已经有自动更新了
为什么simplecd.org的主页和deployment不一 致?
simplecd.org上有 些特殊的设置,所以我没有让它与本源代码同步,而是同步到另一个目录,作出一些调整,然后复制到目标目录。
要尝试新界面和新功能你可以试试看dev branch:
hg update dev
注意:最新的dev branch使用了mysql数据库,sqlite到mysql的转换可见conf.py的注释部分。
注意2*:mysql性能可能会极烂,如果有2G 以上内存那么可以考虑修改my.cnf至它默认的huge站的配置文件
Masterminds of Programming
Federico Biancuzzi、Chromatic / O'Reilly Media / 2009-03-27 / USD 39.99
Description Masterminds of Programming features exclusive interviews with the creators of several historic and highly influential programming languages. Think along with Adin D. Falkoff (APL), Jame......一起来看看 《Masterminds of Programming》 这本书的介绍吧!
