解析Mac OS下部署Pyhton的Django框架项目的过程


Posted in Python onMay 03, 2016

一、安装软件包并创建项目

$sudo pip install django
$sudo python -c "import django;print django.VERSION"
(1, 7, 0, 'final', 0)
$sudo django-admin startproject cmdb #创建项目
$sudo django-admin startapp cmdb #创建应用

二、修改配置
1、修改settings.py,添加cmdb应用,以及其他设置

INSTALLED_APPS = (
 'django.contrib.admin',
 'django.contrib.auth',
 'django.contrib.contenttypes',
 'django.contrib.sessions',
 'django.contrib.messages',
 'django.contrib.staticfiles',
 'cmdb',
)
DATABASES = {
 'default': {
  'ENGINE': 'django.db.backends.mysql',
  'NAME': 'cmdb',
  'USER': 'cmdb',
  'PASSWORD': 'cmdb',
  'HOST': 'localhost',
  'PORT': '3306',
 }
}
LANGUAGE_CODE = 'zh-cn'
TIME_ZONE = 'Asia/Shanghai'

2、修改urls.py和views.py
urls.py内容如下:

from django.conf.urls import patterns, include, url
from django.contrib import admin
urlpatterns = patterns('',
 # Examples:
 # url(r'^$', 'cmdb.views.home', name='home'),
 # url(r'^blog/', include('blog.urls')),
 url(r'^admin/', include(admin.site.urls)),
 url(r'^index/','cmdb.views.index'),
)

views.py内容如下:

from django.shortcuts import render
from django.http import HttpResponse
def index(req):
 return HttpResponse('<h1>hello welcome to django!</h1>')

3、测试
启动django

#sudo python manage.py runserver

访问:
http://localhost:8000/index

PS:gunicorn结合nginx来部署django应用
说明:gunicorn部署django程序,前端用nginx处理服务器请求,静态资源直接处理,动态资源转发到后端。

目录结构:

cmdb/

├── cmdb

│  └── migrations

├── device_manage

├── idcroom_manage

├── operation

│  └── migrations

└── static

  └── admin

    ├── css

    ├── img

    │  └── gis

    └── js

      └── admin

1、安装gunicorn和django

pip install gunicorn
pip install django

2、安装MySQLdb

wget https://pypi.python.org/packages/source/M/MySQL-python/MySQL-python-1.2.5.zip
cd MySQL-python-1.2.5
python setup.py install

3、用gunicorn启动django程序

[root@backup cmdb]# gunicorn --version
gunicorn (version 19.1.1)
gunicorn cmdb.wsgi:application --bind=127.0.0.1:8000 --daemon

gunicorn参数:

?bind指定侦听地址

?daemon放到后台运行

更多参数:gunicorn ?help

nginx反向代理:

server {
   listen 8080;
   server_name 192.168.3.21;
   location / {
    proxy_pass http://127.0.0.1:8000;
    proxy_next_upstream http_500 http_502 http_503 http_504 error timeout invalid_header;
    proxy_set_header X-Forwared-For $proxy_add_x_forwarded_for ;
    proxy_set_header Host $http_host ;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $remote_addr;
   } 
 location /static {
alias /opt/wwwroot/cmdb/static;
 }
 access_log logs/cmdb.access.log;
  }
Python 相关文章推荐
python利用正则表达式提取字符串
Dec 08 Python
python交互式图形编程实例(二)
Nov 17 Python
浅谈Python中的作用域规则和闭包
Mar 20 Python
python抓取网站的图片并下载到本地的方法
May 22 Python
python 读取dicom文件,生成info.txt和raw文件的方法
Jan 24 Python
Python 使用Numpy对矩阵进行转置的方法
Jan 28 Python
Django框架设置cookies与获取cookies操作详解
May 27 Python
python ChainMap 合并字典的实现步骤
Jun 11 Python
Python xpath表达式如何实现数据处理
Jun 13 Python
哪种Python框架适合你?简单介绍几种主流Python框架
Aug 04 Python
Python暴力破解Mysql数据的示例
Nov 09 Python
python接口测试返回数据为字典取值方式
Feb 12 Python
Python使用urllib2模块抓取HTML页面资源的实例分享
May 03 #Python
Python中字符串的格式化方法小结
May 03 #Python
Python实现约瑟夫环问题的方法
May 03 #Python
Python实现堆排序的方法详解
May 03 #Python
python web框架学习笔记
May 03 #Python
Python批量修改文本文件内容的方法
Apr 29 #Python
Python+Opencv识别两张相似图片
Mar 23 #Python
You might like
PHP关联链接常用代码
2012/11/05 PHP
php牛逼的面试题分享
2013/01/18 PHP
php5.5中类级别的常量使用介绍
2013/10/02 PHP
use jscript Create a SQL Server database
2007/06/16 Javascript
缓动函数requestAnimationFrame 更好的实现浏览器经动画
2012/12/07 Javascript
javascript实现文字图片上下滚动的具体实例
2013/06/28 Javascript
Jquery实现图片左右自动滚动示例
2013/09/25 Javascript
Jquery使用css方法改变样式实例
2015/05/18 Javascript
Angular2库初探
2017/03/01 Javascript
jquery.guide.js新版上线操作向导镂空提示jQuery插件(推荐)
2017/05/20 jQuery
JavaScript的词法结构精华篇
2018/10/17 Javascript
jQuery使用bind动态绑定事件无效的处理方法
2018/12/11 jQuery
Vue.js实现tab切换效果
2019/07/24 Javascript
使用VueCli3+TypeScript+Vuex一步步构建todoList的方法
2019/07/25 Javascript
vue项目开启Gzip压缩和性能优化操作
2020/10/26 Javascript
详解Python的Django框架中manage命令的使用与扩展
2016/04/11 Python
详解tensorflow2.x版本无法调用gpu的一种解决方法
2020/05/25 Python
python实现最短路径的实例方法
2020/07/19 Python
浅析python连接数据库的重要事项
2021/02/22 Python
真正了解CSS3背景下的@font face规则
2017/05/04 HTML / CSS
利用CSS3的transition属性实现滑动效果
2015/08/05 HTML / CSS
英国最大的汽车交易网站:Auto Trader UK
2016/09/23 全球购物
Lookfantastic挪威官网:英国知名美妆购物网站
2017/07/26 全球购物
Ajax和javascript的区别
2013/07/20 面试题
英文简历中的自我评价用语
2013/12/09 职场文书
小区停车场管理制度
2014/01/27 职场文书
《唯一的听众》教学反思
2014/02/20 职场文书
不拖欠农民工工资承诺书
2014/03/31 职场文书
竞聘演讲稿
2014/04/24 职场文书
计划生育宣传标语
2014/06/21 职场文书
平面设计师岗位职责
2014/09/18 职场文书
群众路线对照检查材料思想汇报怎么写
2014/09/18 职场文书
中学生运动会通讯稿大全
2014/09/18 职场文书
群众路线剖析材料(四风问题)
2014/10/08 职场文书
回复函格式及范文
2015/07/14 职场文书
十大好看的穿越动漫排名:《瑞克和莫蒂》第一,国漫《有药》在榜
2022/03/18 日漫