Django Web项目部署参考
环境准备:
1、Python 2.7.*]
2.pip
3.sudo pip install django
4、sudo aptitude show python-setuptools
5、sudo aptitude install python-psycopg2
6、#Ckeditor已完全下线,故此条作废#Django-Ckedior的子安装项pillow依赖于gcc和python-dev
7、pillow的依赖项PIL编译过程中缺乏jpeg support的解决办法:http://jj.isgeek.net/2011/09/install-pil-with-jpeg-support-on-ubuntu-oneiric-64bits/ 备份地址 :http://blog.csdn.net/dipolar/article/details/20059357
8、aptitude install lxml
9、pip install uwsgi
环境准备的总结:环境贮备主要是安装依赖项,这些依赖项主要分以下3中:1、系统aptitude可安装的、2、pip可安装的;3、自己下载包install。本地程序优先aptitude安装,但是如果系统源的包实现质量有问题或者安装过程中需要的一些编译质量要求无法达到,则选择pip install, python包优先Pip安装,对于编译质量的问题,某些编译依赖项需要特殊处理,比如上面的pillow安装。最后的自己下包安装只适用于一些个人开发的小包,一般这种包尽量打进项目代码中
10、PostgreSQL的准备:1.登录用户必须用create user指令创建,2、用pg_hba.conf来设置可连接IP和密码方式,3、主配置文件中设置服务器的绑定IP;然后syncdb,数据模式,然后灌预备数据,比如城市和工种
-------------------------------------------------------------------------------------------
项目部署过程:
1、应用准备:确保应用使用runserver启动没问题,且功能正常可用。
2、nginx+uywsgi的部署:
先说说uwsgi的启动,uwsgi是最容易出问题的,出问题的原因主要以下两者:1、uwsgi启动应用的时候加载过程比上面的runserver深入全面的多,所以如果系统有编码问题,会在启动的时候就发现,导致uwsgi启动失败,一般来讲这个问题可以通过看uwsgi的log解决.2、uwsgi本身的启动问题,这种本身的问题主要原因是uwsgi的设置文件的问题,这个问题的日志输出不是那么明显,可以通过把配置项全面命令行化看错误输出来判断,命令行的方法看uwsgi的help和这个Django文档:https://docs.djangoproject.com/en/1.5/howto/deployment/wsgi/uwsgi/
说说nginx的问题:昨天部署的时候nginx的问题比较诡异,主要问题如下:1、nginx的配置规则是后向优先,也就是后面的优先于前面的,这个规则之前文档里看过,昨天部署时受django配置的影响,规则顺序有误。2、就是alias命令出现异常,最后暂时用root解决了问题.
最后说说nginx与uwsgi的通信,这个简直就是无方法解的问题,因为出了错误,日志基本没什么用,一般的容易出的问题是uwsgi和http协议问题,一般来讲,这方面问题都会归在uwsgi server的问题。]
ubuntu本地wusgi的使用需要Python-plugin: http://blog.csdn.NET/dipolar/article/details/37562103
3、nginx静态文件部署:昨天发生就是alias指令访问index diretory forbidden的问题,最后通过目录调整和root指令暂时解决了问题。
4、uwsgi启动日志出现“No module named uwsgi”这个错误不要理会,不影响系统的正常启动和运行,具体解释见: http://www.cnblogs.com/lazyboy/archive/2013/06/03/3115451.html
Django Web项目部署参考的更多相关文章
- 【Django】Django web项目部署(Nginx+uwsgi)
一.安装uwsgi 通过pip安装uwsgi. pip install uwsgi 测试uwsgi,创建test.py文件: def application(env, start_response): ...
- Spring整合Redis&JSON序列化&Spring/Web项目部署相关
几种JSON框架用法和效率对比: https://blog.csdn.net/sisyphus_z/article/details/53333925 https://blog.csdn.net/wei ...
- web项目部署在不同环境中需要修改配置文件的解决方法
web项目部署中存在的配置文件问题: web项目以war包的形式,部署在tomcat中,同时项目需要访问一些其他的东东,例如访问数据库,调用别的项目的API.在开发中,这些需要访问的外部地址通常以配置 ...
- Eclipse导入git上的maven web项目 部署 - lpshou
http://www.tuicool.com/articles/fqm2Qf 推酷 文章 微博 主题 站点 活动 应用 周刊 登录 Eclipse导入git上的maven web项目 部署 - ...
- Linux06 /Python web项目部署
Linux06 /Python web项目部署 目录 Linux06 /Python web项目部署 1. 部署方式 2. 纯后端代码部署/CRM为例 1. 部署方式 2. crm项目详细部署步骤 3 ...
- 如何将Java Web项目部署到服务器上
转自:(此处更详细)http://blog.csdn.net/gulu_gulu_jp/article/details/50994003 一.前言 前面我们已经尝过了在云服务器上部署代码的甜头了,现在 ...
- 怎样将本地web项目部署到腾讯云服务器上?
怎样将本地web项目部署到腾讯云服务器上? 1.本地计算机的工作: (1).用eclipse新建一个web项目,然后在webcontent下新建一个index.html,然后在本地部署到Tomcat服 ...
- Maven Web项目部署到Tomcat下问题
但是也遇到了很多问题,下面记录一下Web项目部署到Tomcat下的问题 1.普通的WEB项目,就是虽然是用maven搭建的,但是没有使用profiles.xml文件来配置参数.这样的项目可以通过以下的 ...
- eclipse修改web项目部署路径 wtpwebapps webapps 的设置
eclipse修改web项目部署路径 wtpwebapps webapps 的设置,在添加完server------>tomcat后,到server控制台进行设置 eclipse默认的部署 ...
随机推荐
- 在ROS(indigo)中读取手机GPS用于机器人定位~GPS2BT在ubuntu和window系统下的使用方法~
在ROS(indigo)中读取手机GPS用于机器人定位~GPS2BT在ubuntu和window系统下的使用方法~ 不需要额外购买GPS设备. 将手机GPS数据通过蓝牙传输给计算机使用,当然通过类似方 ...
- UICollectionView请求网络数据显示(Text)
TEXT: AppDelegate.m self.window.rootViewController = [[[UINavigationController alloc]initWithRootVie ...
- Chipmunk碰撞回调短时间内重入的解决办法
Chipmunk引擎中碰撞行为可能在细微处与一般认识略有不同. 比如碰撞回调方法可能会重入.不知道方法(函数)重入概念的童鞋可以自行谷哥或度娘. 第一次碰撞方法还未返回,第二次碰撞回调又被调用了.至于 ...
- C语言之统计输入字符数量
这个程序市委了统计所输入的数字或者英文字母的数字的数量,当然稍加改动便可以统计特殊字符的个数,在此不再冗叙. 代码如下: #include <iostream> using namespa ...
- (四十八)Quartz2D引擎进阶
图形上下文栈: 应用,修改过上下文后,下一次画会在这个基础上进行,如果清空状态,需要上下文栈. 可以先把原来的上下文保存起来,然后恢复: - (void)drawRect:(CGRect)rect { ...
- Linux进程实践(1) --Linux进程编程概述
进程 VS. 程序 什么是程序? 程序是完成特定任务的一系列指令集合. 什么是进程? [1]从用户的角度来看:进程是程序的一次执行过程 [2]从操作系统的核心来看:进程是操作系统分配的内存.CPU时间 ...
- 【嵌入式开发】向开发板中烧写Linux系统-型号S3C6410
作者 : 万境绝尘 转载请著名出处 终于拿到板子了, 嵌入式开发正式开启. 板子型号 : 三星 S3C6410 基于ARM11, 指令集基于arm6指令集; 为毛不是 Cortext A9的板子; 烧 ...
- Android进阶(十六)子线程调用Toast报Can't create handler inside thread that has not called Looper.prepare() 错误
原子线程调用Toast报Can't create handler inside thread that has not called Looper.prepare() 错误 今天用子线程调Toast报 ...
- Android官方技术文档翻译——IntelliJ 项目迁移
本文译自Android官方技术文档<Migrating from IntelliJ Projects>,原文地址:http://tools.android.com/tech-docs/ne ...
- Ext JS添加子组件的误区
经常会有人问我,为什么我的Grid不能岁窗口的变得而自动调整.了解后,发现很多人都习惯在渲染子组件的时候将Gird渲染到容器内的一个div里,而这正是问题的所在. 在Ext JS的布局系统中,能控制到 ...