Centos+nginx+uwsgi+Python多站点环境搭建
前言
新公司的第一个项目,服务器端打算用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多站点环境搭建的更多相关文章
- CentOS+nginx+uwsgi+Python 多站点环境搭建
转载:http://www.cnblogs.com/xiongpq/p/3381069.html 环境: CentOS X64 6.5 nginx 1.5.6 Python 2.7.5 正文: 一:安 ...
- Ubuntu下nginx+uwsgi+flask的执行环境搭建
选择web framwork是个非常艰难的事情, 主要分为轻量级和重量级框架. 因为没有搭建站点这样的须要, 所以回避SSH, Django这样的框架, 而选择一个轻量级框架. 自己也比較青睐pyth ...
- 云效(阿里云)流水线 + nginx + uWsgi + flask + python3 基础环境搭建 --备忘
一.开发环境搭建 1.安装python3 yum -y groupinstall "Development tools" yum -y install zlib-devel bzi ...
- Centos下搭建 nginx+uwsgi+python
python做web应用最麻烦的还是配置服务器了,此话不假,光中间件就有好几种选择,fastcgi.wsgi.uwsgi,难 免让人眼花缭乱. 而听说uwsgi的效率是fastcgi和wsgi的10倍 ...
- Linux CentOS下Python+robot framework环境搭建
Linux CentOS下Python+robot framework环境搭建 by:授客 QQ:1033553122 操作系统环境:CentOS 6.5-x86_64 下载地址:http://w ...
- CentOS7 + Python3 + Django(rest_framework) + MySQL + nginx + uwsgi 部署 API 开发环境, 记坑篇
CentOS7 + Python3 + Django(rest_framework) + MySQL + nginx + uwsgi 部署 API 开发环境 CentOS7 + Python3 + D ...
- python+Eclipse+pydev环境搭建
python+Eclipse+pydev环境搭建 本文重点介绍使用Eclipse+pydev插件来写Python代码, 以及在Mac上配置Eclipse+Pydev 和Windows配置Ecli ...
- Python开发:环境搭建(python3、PyCharm)
Python开发:环境搭建(python3.PyCharm) python3版本安装 PyCharm使用(完全图解(最新经典))
- Python+Selenium+webdriver环境搭建(windows)以及相关资源下载链接
今天记录一下测试小菜鸟alter在测试入门的一点关于python+Selenium+webdriver环境搭建的经历以及资源分享.欢迎交流学习,批评指正. 一.Python的下载与安装 1.pytho ...
随机推荐
- Wi-Fi定位,AP定位
Wi-Fi实时定位系统 基于Wi-Fi的无线局域网实时定位系统(Wi-Fi RTLS)结合无线局域网络(WLAN).射频识别(RFID)和实时定位等多种技术,广泛地应用在有无线局域网覆盖的区域,实现复 ...
- 【转】Ubuntu Server 12.04 静态IP简洁配置
原文网址:http://blog.csdn.net/njchenyi/article/details/8715417 1.配置静态IP地址: # vim /etc/network/interfaces ...
- Google Java 风格 阅读随笔
官方文档:Google Java Style 中文翻译版:Google Java编程风格指南, Hawstein's Blog 可以先看官方文档,遇到不确定有疑问的,可以再对照翻译版本阅读,加深理解. ...
- 本地apt
Ubuntu建立本地源非常實用,很多服務器在局域網沒有網络或者網络很慢的情況下,或者需要批量安裝同样的軟件的時候,如果每一台服務器都去外網下載,是不是很慢,而且也不是一個運維工程師願意這麼幹的!那有什 ...
- mount 远程挂载Nfs
服务器:192.168.20.204 客户端:192.168.20.203 1. 在服务器配置/etc/export 添加可以共享的文件夹和允许的客户端地址 /home/dir 192.168.20. ...
- Maven可继承的POM 元素
groupId :项目组 ID ,项目坐标的核心元素: version :项目版本,项目坐标的核心元素: description :项目的描述信息: organization :项目的组织信息: in ...
- windows快捷键和命令
以管理员方式打开命令行界面:win+X+A 打开服务界面:services.msc 删掉windows系统记住的WIFI密码 cmd下面运行 显示存储的无线连接netsh wlan show prof ...
- escape encodeURI encodeURIComponent区别
escape() 函数可对字符串进行编码,这样就可以在所有的计算机上读取该字符串.使用unescape来解码. 有效的URI(统一资源标示符)是不能包含某些字符的,如空格,所以需要进行编码,编码方法有 ...
- jQuery Ajax 的 load()方式
load() 方法 load() 是所有jQuery工具中最简单的,向它传入一个URL,它会异步加载URL内的内容,然后将内容插入每一个选中元素中,替换掉已经存在的任何内容. 例如 $(" ...
- Hitting the 2100 parameter limit (SQL Server) when using Contains()
1down vote My solution (Guides -> List of Guid): List<tstTest> tsts = new List<tstTest&g ...