1) python 环境
sharing host并不提供root权限,但是这并不意味着你必须要使用它自带的软件而不能安装其他的软件,其实你一样可以去安装,方法是在$HOME下面安装,然后在bashrc里面设置一下,export PATH=/home/wangeen/python/bin/:$HOME/python/Python-2.7.2/:$PATH
这里我安装了python2.7,在这个python的基础上安装了一系列的库,这个方法比较简单,一了百了,另外如果你想保持系统版本的python,只是自己去安装一下包,同样可以做到,方法是在安装的时候把安装的路径指定到$HOME下面,然后export PYTHONPATH=$PYTHONPATH:/home/wangeen/local/lib/python2.6/site-packages。
现在还有一个问题暂时还没有解决,就是每次ssh过去都要source ~/.bashrc,否则新环境不会自动加载。
2)wsgi
passage_wsgi.py是个很关键的文件,主要有几个要点,
a)如果自己安装的python,要在里面设置好指定调用这个python
b)要指定django项目的setting文件
c)要添加log,这个在debug的时候很重要,否则会一头雾水
d)关于application函数,要用django项目里面的wsgi文件的方式去调用
3)关于测试
lynx可以远程测试,缺点也很明显就是没有GUI,下面是我自己用的一个测试脚本,分为远程和local两种,最后先local测试通过了再远程。这样可以先排除掉一些问题,毕竟local下debug的信息会更充分一些。
1 #!/home/wangeen/python/bin/python2.7
2 import subprocess
3
- 4 def script(cmd):
| 5 print cmd
| 6 subprocess.call(cmd, shell=True)
| 7
8
9 if raw_input("remote client (space+enter)") == " ":
10 script("lynx www.wangeen.com")
11
12 if raw_input("local client (space+enter)") == " ":
13 script("lynx http://127.0.0.1:8080/")
14
15 if raw_input("local server(space+enter)") == " ":
16 script("python manage.py runserver 8080")
4) 部署Mezzanine
这个是我找的一个django的现成的项目,之前也试过一些wiki的,但是也不是很符合我的要求,这个项目部署很简单。
a)安装相关的包
b)建立Mez好项目
c)同步好数据库
d)收集好static文件,django的静态文件不是天生就在那里的,如果你一下子没有找到,不要奇怪,收集一下就有了。
e)把文件link到public下面
5) MISC
修改过之后要记得调用pkill python,否则修改之后很可能也没有用。