前言

  新公司的第一个项目,服务器端打算用python作为restful api。所以需要在Centos上搭建nginx+fastcgi+python的开发环境,但后面网上很多言论都说uwsgi比fastcgi在很多方面存在优势,推荐用uwsgi而不是fastcgi,详见:http://sunxiunan.com/?p=1778。因此,改为搭建nginx+uwsgi+python这样的技术组合。

正题

  步入正题,开始搭建环境。http://www.cnblogs.com/xiongpq/p/3381069.html,这篇博文对于整个搭建的过程介绍得最详细,但实际搭建过程中,却遇到一个难题始终无法解决。当到第八步测试时,浏览器显示“Internal server error”,可以确定的是uwsgi和django的连接有问题,估计是配置uwsgi有问题。于是找了另一篇技术贴来解决我的问题,见http://django-china.cn/topic/101/。这篇文章对于搭建的过程进行了拆分,帮助理解搭建的过程。但当我配置完成django后,连接django和uwsgi时,出现一个问题,后台显示:

django.core.exceptions.AppRegistryNotReady: Models aren’t loaded yet。之后,在网上找到了原因,django1.4和django1.5版本,wsgi.py为:

import os

import sys

from django.core.handlers.wsgi import WSGIHandler

os.environ['DJANGO_SETTINGS_MODULE'] = 'myapp.settings'

application = WSGIHandler()

但当django1.7时,应改为

import os
import sys
from django.core.wsgi import get_wsgi_application
os.environ['DJANGO_SETTINGS_MODULE'] = 'myapp.settings'
application = get_wsgi_application()

哎,这实在是个坑。好了,问题解决后,django和uwsgi就成功的连接起来了,所有请求都是经过uwsgi传递给django程序处理。继续按照该文章的步骤来,又遇到问题了。所有配置完毕后,启动uwsgi服务的时候,执行uwsgi -x djangochina_socket.xml 命令时提示:uwsgi:invalid option --‘x’,继续度娘,找到答案:这个问题是因为编译uwsgi的时候少了libxml2库导致的,应该先安装库在编译,否则会少了xml的支持。这里需要注意的是,必须先安装libxm,再安装uwsgi,否则无效。由于我已经安装了uwsgi,所以需要先卸载uwsgi,用命令pip uninstall uwsgi,这时就体现出第一篇博文的优点了,用pip安装卸载程序非常方便。接着,yum install libxml*安装libxml2库。

  OK,终于所有问题都解决,浏览器访问:http://127.0.0.1/admin,就能出现django后台管理登录界面,大功告成!

Centos+nginx+uwsgi+Python多站点环境搭建的更多相关文章

  1. CentOS+nginx+uwsgi+Python 多站点环境搭建

    转载:http://www.cnblogs.com/xiongpq/p/3381069.html 环境: CentOS X64 6.5 nginx 1.5.6 Python 2.7.5 正文: 一:安 ...

  2. Ubuntu下nginx+uwsgi+flask的执行环境搭建

    选择web framwork是个非常艰难的事情, 主要分为轻量级和重量级框架. 因为没有搭建站点这样的须要, 所以回避SSH, Django这样的框架, 而选择一个轻量级框架. 自己也比較青睐pyth ...

  3. 云效(阿里云)流水线 + nginx + uWsgi + flask + python3 基础环境搭建 --备忘

    一.开发环境搭建 1.安装python3 yum -y groupinstall "Development tools" yum -y install zlib-devel bzi ...

  4. Centos下搭建 nginx+uwsgi+python

    python做web应用最麻烦的还是配置服务器了,此话不假,光中间件就有好几种选择,fastcgi.wsgi.uwsgi,难 免让人眼花缭乱. 而听说uwsgi的效率是fastcgi和wsgi的10倍 ...

  5. Linux CentOS下Python+robot framework环境搭建

    Linux CentOS下Python+robot framework环境搭建   by:授客 QQ:1033553122 操作系统环境:CentOS 6.5-x86_64 下载地址:http://w ...

  6. CentOS7 + Python3 + Django(rest_framework) + MySQL + nginx + uwsgi 部署 API 开发环境, 记坑篇

    CentOS7 + Python3 + Django(rest_framework) + MySQL + nginx + uwsgi 部署 API 开发环境 CentOS7 + Python3 + D ...

  7. python+Eclipse+pydev环境搭建

    python+Eclipse+pydev环境搭建   本文重点介绍使用Eclipse+pydev插件来写Python代码,  以及在Mac上配置Eclipse+Pydev 和Windows配置Ecli ...

  8. Python开发:环境搭建(python3、PyCharm)

    Python开发:环境搭建(python3.PyCharm) python3版本安装 PyCharm使用(完全图解(最新经典))

  9. Python+Selenium+webdriver环境搭建(windows)以及相关资源下载链接

    今天记录一下测试小菜鸟alter在测试入门的一点关于python+Selenium+webdriver环境搭建的经历以及资源分享.欢迎交流学习,批评指正. 一.Python的下载与安装 1.pytho ...

随机推荐

  1. 腾讯CDC谈扁平化设计

    扁平化设计无疑是当前讨论最多,最火的设计形式,自ios7面世以来更是将扁平化设计的讨论推向风口浪尖. 在这里我不想分析拟物设计和扁平化设计的优劣,更不想说谁更好!在形式服从内容的今天,我只能说哪种设计 ...

  2. ArcGis : unable to save as template this document is already based on another template

    原文:http://forums.esri.com/Thread.asp?c=93&f=989&t=289930 ----------------- I ran into this p ...

  3. hdu4746:2013杭州网络赛I 莫比乌斯反演

    题意: 有5000组询问,每组询问求有多少i,j满足i∈[1,n],j∈[1,m]且gcd(i,j)的质因子数目<=p. n,m<=500000 思路: 首先预处理出每个数的质因子数目分别 ...

  4. Java学习日记-2 零零碎碎

    一.使用Scanner类进行控制台的输入 文档中Scanner类的定义为A simple text scanner which can parse primitive types and string ...

  5. NSString copy or not (strong)?

       前些日子笔者一直在维护公司的一些旧项目,项目里面的NSString属性几乎全部用的strong,而我在给项目增加一些新的功能的,又都用的copy,因为在我的脑子里几乎已经把NSString大部分 ...

  6. C++ —— 类的基础

    C++类的设计与基础       2015.9.11 1.变量和常量的命名:确定程序中的变量.常量.函数的名字都是具有描述性的名字,具有直接的意义.如numberOfStudent 比 numOfSt ...

  7. mysql查询最近一小时的数据

    date_sub()函数: DATE_SUB(date,INTERVAL expr type) 实例: SELECT NOW(),DATE_SUB(NOW(),INTERVAL HOUR) as th ...

  8. win7-64bit 下oracle11g plsql 的正确安装

    本人在PC机上安装了Oracle 11g 版本号的数据库服务,通过PL/SQL连接数据库时总是无法连接,位的oracle客户端工具instantclient进行转换,另外一种plsql的不能安装到文件 ...

  9. 数据结构笔记01:编程面试过程中常见的10大算法(java)

    以下是在编程面试中排名前10的算法相关的概念,我会通过一些简单的例子来阐述这些概念.由于完全掌握这些概念需要更多的努力,因此这份列表只是作为一个介绍.本文将从Java的角度看问题,包含下面的这些概念: ...

  10. Lombok介绍及使用方法

    lombok简介 lombok是暑假来到公司实习的时候发现的一个非常好用的小工具,刚见到的时候就感觉非常惊艳,有一种相见恨晚的感觉,用了一段时间之后感觉的确挺不错,所以特此来推荐一下. lombok的 ...