您的位置:首页 > 编程语言 > Python开发

搭建python下web (tornado + Dgango)

2014-04-22 18:47 274 查看
[program:tornado_oa-9003]command=/home/albert/githublearning/system-foro_a/ENV/bin/python /home/albert/ githublearning/system-foro_a/oa_web/run.py --port=9003autostart=trueautorestart=true[program:dgango_oa]command=/home/albert/githublearning/system-foro_a/ENV/bin/python /home/albert/ githublearning/system-foro_a/oa_admin/manage.py runserverautostart=trueautorestart=true安装virtualenv  (用于创建独立的Python环境,多个Python互相独立,互不影响)sudo apt-get install python-virtualenv如:创建**ENV**的虚拟环境
virtualenv ENV
启动虚拟环境
cd ENVsource ./bin/activate退出虚拟环境:接下来所有模块都只会安装到该目录中去:pip install **deactivate../env/bin/pipinstall -r requirement.txt进行批量安装: requirement.txt里面内容为:Django==1.5django-grappelli==2.4.8       #×××××××用来进行django 的admin功能进行界面美化的southMySQL-pythontornado==3.1.1xlrd                                   #××××××作为操作xlrd的中间可能会碰到不能安装MySQL-python的情况那就要先 1安装mysql-server   mysql-client  
 2 sudo apt-get install build-essential python-dev libmysqlclient-dev
如果有时碰到如下面的问题:Traceback(most recent call last):File"run.py", line 3, in <module>fromoa_web.settings import settingsFile"/home/administrator/www/pinhui_oa/oa_web/oa_web/settings.py",line 5, in <module>fromoa_admin.init import init_django_settingsImportError:No module named oa_admin.init那是因为没有连接库:链接一个库到python的site-packages中:administrator@ubuntu:~/www/pinhui_oa/oa_web/env/lib/python2.7/site-packages$ln -s ~/www/pinhui_oa/oa_admin/oa_admin/ . 我自己开发的环境为了方便开发时启动服务器而编写的脚本:python编写 启动web,admin服务器的脚本:#!/usr/bin/python#start web tornado server and dgango server"""use subprocess to run run.pyand os.system to run manage.py"""import os.path as osp import osimport sys import subprocesspath = osp.abspath(osp.dirname(__file__))tornadoserverpath = path+'/pinhui_oa/oa_web'dgangoserverpath = path+'/pinhui_oa/oa_admin'pythonenv = path+'/env/bin/python'#add sys.path for tornado dgangosys.path.append(tornadoserverpath)sys.path.append(dgangoserverpath)#fork process for run.py   and then exec manage.print "%s" %(sys.argv[0])subprocess.Popen('env/bin/python %s/run.py' %tornadoserverpath,shell=True)os.system('env/bin/python %s/manage.py "runserver"' %dgangoserverpath)在生产环境的时候一般用supervisord来进行启动程序的监控进行自动重启工作:1:生成和编辑 supervisord.conf进行要添加的进程如下面: 
[program:nginx]command=/usr/local/nginx/sbin/nginxpriority=1numprocs=1autostart=trueautorestart=true[program:tornado_oa-9000]command=/home/albert/githublearning/system-foro_a/ENV/bin/python /home/albert/  githublearning/system-foro_a/oa_web/run.py --port=9000autostart=trueautorestart=true
[program:tornado_oa-9003]command=/home/albert/githublearning/system-foro_a/ENV/bin/python /home/albert/  githublearning/system-foro_a/oa_web/run.py --port=9003autostart=trueautorestart=true[program:dgango_oa]command=/home/albert/githublearning/system-foro_a/ENV/bin/python /home/albert/  githublearning/system-foro_a/oa_admin/manage.py runserverautostart=trueautorestart=true
2.添加可视化管理功能  修改/etc/supersord.conf[inet_http_server]         ; inet (TCP) server disabled by defaultport=127.0.0.2:9001        ; (ip_address:port specifier, *:port for all iface)username=user              ; (default is no username (open server))password=123               ; (default is no password (open server))3.运行supervisord sudo supervisord -c /etc/supervisord.conf4.supervisord操作命令  先用 supervisorctl进入命令环境,然后查看--help进行操作,可以通过reload等进行控制注意:要以root形式运行supervisord,避免有些程序因为权限问题不能启动。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: