April 22
先说一下本文档基于的安装环境:
Ubuntu 7.04 Feisty Fawn
Apache2 2.2.3
Python 2.5
Django 0.96
这里假设我们已经拥有了一个全新的Ubuntu 7.04 的 Server 版安装环境,下面分步讲解安装配置各模块过程:
- 安装Apache2和mod-python
利用Ubuntu的apt-get安装二进制包非常方便,不过如果不是使用root用户的话,请使用sudo命令:
sudo apt-get install apache2
同时,安装mod-python模块:
sudo apt-get install libapache2-mod-python
启动apache2
sudo /etc/init.d/apache2 start
如果发现有这样的报错:
Could not determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
原因多半是因为没有配置ServerName:
sudo vi /etc/apache2/apache2.conf
打开apache2.conf文件,在末尾加入ServerName localhost,保存退出
sudo /etc/init.d/apache2 restart
重新引导启动apache2就可以了。具体可以参见此文章。
- 安装Django
最新版本的Ubuntu已经自带了Django的二进制包,不过,这里讲解如何从源码编译安装。
Ubuntu已经缺省安装好了Python 2.5.1的rc0,所以这里无需再安装Python,不过,ez-setup.py并不是最新的,需要更新:
cd /usr/src
wget -c http://peak.telecommunity.com/dist/ez_setup.py
sudo python ez_setup.py
下载Django 0.96
wget -c http://media.djangoproject.com/releases/0.96/Django-0.96.tar.gz
tar zxvf Django-0.96.tar.gz
cd Django-0.96
sudo python setup.py install
执行之后没有错误,表示Django已经安装完成。
在Shell命令行中输入
python (回车)
>>>import django (回车)
如果没有报错则表示django安装成功。
- 配置基础Django环境
安装成功以后的Django实际文件存在于/usr/lib/python2.5/site-packages/django,我们将使用Django的django-admin.py(在django/bin目录中)来创建我们的Django项目,Django安装成功后,会自动在/usr/bin中建立一个django-admin.py的一个符号链接,所以无需指定路径就可以使用这个脚本文件了。
创建项目djangotest,缺省apache2的文档根目录是/var/www:
cd /var/www
sudo python django-admin.py startproject djangotest
这样会在/var/www下建立一个djangotest的目录,里面包含下面的几个文件:
__inti__.py
manage.py
settings.py
uls.py
对于初始设置来说,并不需要更改这些文件,至于这些文件的具体用途,可以查阅相关的Django文档。
这时已经可以启动Django自带的Web Server来测试是否创建成功了:
sudo python manage.py runserver
出现类似的提示表示启动成功:
Validating models...
0 errors found. Starting server on port 8000 with settings module 'newtest.settings'.
Go to http://127.0.0.1:8000/ for Django.
Quit the server with CONTROL-C (Unix) or CTRL-BREAK (Windows).
但是此Server只接受来自与本地的访问,所有外来的访问请求都不响应,所以只适合于本地开发用途,如果使用虚拟机或者有专门的机器来安装Django环境,则不能使用了,对于生产环境则更不适用,所以需要配置apache2以便和Django良好合作。
- 配置Apache2以便与Django一同工作
配置/etc/apache2/site-available/default
sudo vi /etc/apach2/site-available/default
在<VirtualHost>中增加一个<Directory>段(Apache2的配置详见apache.org),内容如下:
<Directory /var/www>
SetHandler python-program
PythonPath "['/var/www'] + sys.path"
PythonHandler django.core.handlers.modpython
SetEnv DJANGO_SETTINGS_MODULE djangotest.settings
PythonDebug On
</Directory>
这里有几点需要注意:
1)PythonPath一定要声明在前,因为它的作用是要将我们的项目目录加入到sys.path中;
2)PythonPath里面 [] 中的目录一定要是我们项目的上一级目录(搞不懂为什么是这样);
3)SetEnv中那个settings的名字就是我们的项目名+.settings。
上述配置完后,
sudo /etc/init.d/apache2 restart
重新启动apache2,无异常成功。
在客户机上的浏览器中输入 http://服务器IP/djangotest,出现:
It worked!
Congratulations on your first Django-powered page.
这样的提示页面,则表示Django安装成功!
April 15
下周二就要去拍婚纱照了,约好13号去影楼挑选3套礼服。
一到影楼,妻子就和接待我们的礼服员去挑选衣服了,我便静静地坐在沙发上面等。看得出来,妻子很高兴,新嫁娘般的心情吧。:)
我站在镜子前,看着她一件件地试穿,心中默念,这或许就是幸福的一部分吧。
March 30
大家都好像在传播着一种感觉——孤独。
我生于1980年,26年来,我和许多年纪相仿的人们一起独自长大,孤独和我们如影随行。
特殊的年代,特殊的一代人,我们孤独因为我们必须为国家日后的强大作出牺牲,于是我们成了第一代没有兄弟姐妹的祖国接班人。抑或换个角度:我们是家族中幸运的一个,毕竟我们能够这样孤独的长大。
一代又一代的孩子继续着我们孤独的命运,而这种孤独的思潮也开始在社会中蔓延、流行。
我们与自己玩耍、与自己办家家、与自己为友、与自己为敌。
同学是我们童年记忆中不可或缺的亲情元素,然而,就如我的题目,孤独是永恒的,每当我们毕业,大家各奔前程,孤独便侵蚀而来,每一次升学,每一次更换学校,孤独都微笑着欢迎我们的回归,直到我们终于离开了求学生涯对于我们的庇护,进入社会。
孤独终于得到了我们。
继续成长,我们选择和另一个人结束这段孤独,可是幸运的人毕竟是少数,很多人在尝试之后仍然发现,孤独固然可怕,与不合适的人一起度过孤独更可怕,于是他们选择重新回到一个人的世界,独自地抵御着。
幸运的人呢?他们生育儿女,却仍然在传递着孤独,直到儿女长大,独自飞翔,伴侣衰老,终于湮灭,人生又重回孤独。他们真的幸运吗?
February 16
今天腊月二十九,许几个心愿,希望来年能够实现。
- 蜜月旅行订好了去江南古镇游玩,希望能够成行,并且旅途愉快。
- 6月底拿到新房,希望能够装修顺利。
- 年底时能够拥有一台数码单反相机,暂定Nikon D50。
- 希望父母、我和老婆都能身体健康,事事顺利。
居然许了4个愿望,太贪心了吧,如果神不满意了,那就省掉第3个愿望吧,呵呵。
January 28
中国人的姓氏有这样两个特点:一是源远流长,从上古的伏羲氏时代开始中国人就有了姓氏,至今已经五千多年了;二是中国人的姓氏是按照父系传承的,即只是在男子中一代代地相传,比较稳定。事实上,这一点恰恰与遗传学中的Y染色体的传递方式相一致,Y染色体就是只沿着男性这条脉络下传的,除了极为罕见的异常,一代代的只要是男性,就会一直传下去。
现在人们都知道,人有23对——46条染色体,其中X和Y染色体是控制性别的。在男人的精子中,一半含有X,一半含有Y;女人的卵子含有的都是X,没有Y。当精子中的X遇到卵子中的X,组成新的染色体对XX时,就生女孩;当精子中的Y与卵子中的X相遇,组成XY时,一个男孩就诞生了。当这个男孩再生男孩时,一定是这个Y又一次地被选中,与一个卵子中的X结合了。除极个别情况外,如果一个家族一直有男孩诞生的话,那么这个家族的染色体Y就一直传下来了,而且是同一条祖先染色体的复制品。
我们的祖先太聪明了,他们在五千多年前就用“姓”给自己的家族做了命名。当然,我们祖先这么做的时候,想到的不仅仅是标识自己,区别他人,很重要的是为了避免近亲繁殖。但是他们没想到的是,此举一下子给他们家族的染色体Y打上了标记。从某种意义上说,我们的“姓氏”,就是染色体Y的“姓”,因为生生死死,承载着姓的一代代的人都消失了,但染色体Y却与“姓”结合在一起,流传至今。姓的传递,就是Y染色体的传递。这真是人世与自然神奇的同构,是天人合一的典范。我甚至认为姓氏是我们中国人的一项伟大的发明,是一项不亚于四大发明的发明。
欧洲人有姓的历史不过一千多年,日本人在明治维新以后才有姓,才几百年。为什么中国人最早发明了“姓”,而且“姓”在中国能够延续下来?我猜想原因有二:一是汉语文字的简洁。单音节,一字一音,用来做姓,方便好用。西方人的语言文字用来做姓,就不如汉语方便,我们都曾有过记不住外国人复杂冗长姓名的感受;二是早在公元前221年,秦始皇就统一了中国,废除了分封制,推行郡县制,郡县制需要户籍制度配合,所有的人要登名造册,这是中国人的姓能够流传、普及、巩固以及人人有姓的重要原因吧。
中国人在传统上特别看重生男孩,古人云:不孝有三,无后为大。原来我以为这种现象只有文化、经济和社会方面的意义,现在看来,并非如此,这其中有着更深的生物学上的意义。
男孩是染色体Y的承载者,而人体其他的45条染色体在人类一代一代的繁殖过程中被反复地打乱重组,加之配偶的染色体不断地补充进来,从某种意义上讲,其实就是基因被逐渐地“稀释”。比如,你的儿女对你的基因,只继承了1/2,你的孙子、孙女只继承了你儿女基因的1/2,随着时间的推移,祖先的基因越来越少,最终近乎于无。但是除了少数的突变外,Y染色体躲过了被“稀释”的命运,它将随着这个家族的男性成员一直延续下去。
也许这正是中国人喜欢男孩的深层原因。因为只有男孩继承了真正的祖先的一点遗产——Y染色体。这才是一个家族一直没变的东西,是一个家族真正的血统。
转自
单之蔷的BLOG