小改EditPlus打造python开发环境
01-10
nginx+php,php有个进程管理器,为php-fpm,Django没有,网上大概看了看,找出了几段,小改一下,能用了。
nginx的配置,特别感谢爱词霸的吕同学,发扬了开源共享的精神,大大缩短了我的调试成本。
同时附上一个额外的文档,nginx变量跟cgi协议的对应关系。
注:在配置中,并不是所有的变量必须加上,而是根据环境选择其中应该有的变量,至于具体加哪些变量,得求助高人了。
1、创建一个project(可理解为站点)
django-admin.py startproject project1
发现新建了一个文件夹 project1
2、创建一个app(可理解为一个……)
python manage.py app1
发现多了一个文件夹 app1
3 、vi ./app1/views.py 增加代码
4、vi ./urls.py 增加代码
( r’^tests/’ , ‘project1.app1.views.index’ ),
5、启动服务
python manage.py runserver domain.com:8000
然后在浏览器打 domain.com:8000/tests
如果能看到 hello test则证明配置成功。
如果不成功,看debug信息吧,debug默认是开启的。
另外我自己配置使用fastcgi方式运行python,python manage.py runfcgi host=127.0.0.1 port=8000,然后用nginx代理访问。两种方式还有所不同,具体的不同点暂时还不知道,希望知道这些差别的大大们多加提示,继续研究中。
1、升级linux的python为最新版本
ln -s /usr/bin/python /opt/python**{your install path}**/bin/python
2、设置django-admin.py至系统命令
ln -s /opt/python**{your install path}**/lib/python2.5/site-packages/django/bin/django-admin.py /usr/bin/django-admin.py
然后查看 django-admin.py –version
回显版本正确,则证明系统配置成功。
1、安装django,当然要安装python,我安装的python2.5
./configure –prefix=你的路径
2、安装mysqldb
这个可以看这篇文章 http://www.sunboyu.cn/2009/04/22/python25mysqldb122%E5%AE%89%E8%A3%85.shtml
3、安装easl_install
http://pypi.python.org/pypi/setuptools 我下的源码,按照提示安装就行
4、使用easl_install安装flup
地址 http://www.saddi.com/software/flup/dist/flup-1.0.2-py2.5.egg
5、安装django1.1
python setup install
到这里大体就算安装完了,底下配置。
下载地址:mysqlbak
最近比较喜欢用python写一些shell,又因为要跟mysql交互,所以安装python2.5+MySQLdb1.2.2。
选择python而没有选择perl,c之类,是因为python语法相对简单,适合我。其实php也可以,但linux默认安装python并大量使用,而并不默认安装PHP。
在安装过程中遇到很多问题,暂不罗列,google是半万能的,多尝试。
使用这两个版本,是因为在编译过程中的问题,逼我仔细阅读了产品稳当,发现版本依赖性很强,最终选择的这两个。
python编译很简单 ./configure –prefix=/***** 就OK了。
MySQLdb的安装也很简单,但首先要修改site.cfg的参数,其中threadsafe和mysql_config的值要根据情况修改。
python setup.py build
(如果必要,中间运行这个 ln -s /opt/mysql-5.0.22/lib/libmysqlclient.a ./build/lib.linux-x86_64-2.4/_mysql.so 路径自己调整)
python setup.py install
我的apache+php权限是配置的最为严格的,当然,在用的时候难免伴随着混乱的账户情况,linux的权限机制也是很让人头疼的,终于,还是在风平浪静种碰到了麻烦。
我不认为PHP很强,因为它只是一个面向Web的脚本语言,而PHP的开发者却赋予了它太多,让人去用,有人也滥用。
当然,一门语言能解决N多问题是好的,比如汇编,C,但终究PHP有它跨不过的坎。毕竟它只是web脚本语言。
权限出现很大的问题,至今没有搞透,说白了对linux还是一知半解,使用python写了个第三方的东西,很完美得跳跃了权限的问题。至于效率,python肯定要比php强的,起码PHP作为服务器端程序运行,PHP还没有线程和进程的控制(一直没有发现),python有完善的线程进程的库。在权限管理上,python没细看,PHP在linux下有posix函数库,我一直也没有用过。
在没有更好的解决方案前,我依然用PHP做服务器端程序,python作为一些补充。也许,全部切换过去。