Ubuntu Server 12.04 安装Nginx+uWSGI+Django环境

今天要介绍的是利用APT源直接apt-get install安装配置我们所需要的环境,首先按惯例先安装MySQL和Nginx:

linuxidc@ www.linuxidc.com :~$ sudo su -
root@ www.linuxidc.com :~$ apt-get install mysql-server
root@ www.linuxidc.com :~$ apt-get install nginx

然后通过Debian Packages网站找到我们所需要的uWSGI在sid里,为了用sid里面的软件包,我们还需要修改我们的/etc/apt/sources.list源,添加deb http://ftp.tw.debian.org/debian sid main non-free contrib这一行,或者直接输入命令:

root@ www.linuxidc.com :~$ echo "deb http://ftp.tw.debian.org/debian sid main non-free contrib" >> /etc/apt/sources.list

配置过源列表后,我们就可以通过下面的命令安装了:

root@ www.linuxidc.com :~$ apt-get update
root@ www.linuxidc.com :~$ apt-get install uwsgi uwsgi-core uwsgi-plugin-python

安装完成后,配置文件按惯例放在了/etc/uwsgi里面,服务控制可以通过invoke-rc.d uwsgi后面跟命令参数来实现,不过这里有个小插曲我不得不提一下,安装时可能会报这样的错误:

The following packages have unmet dependencies:

libc6-dev : Breaks: gcc-4.4 (< 4.4.6-4) but 4.4.5-8 is to be installed.

E: Broken packages

看样子是依赖包gcc版本不匹配,我后来通过下面的方式解决了:

root@ www.linuxidc.com :~$ apt-get update
root@ www.linuxidc.com :~$ apt-get upgrade # 先尝试升级系统软件包
root@ www.linuxidc.com :~$ apt-get install libc6-dev

接下来就是安装django以及Python的MySQL支持,继续APT命令:

root@Notebook:~$ apt-get install python-django python-mysqldb

查看下应用的python版本

root@Notebook:/usr/lib$ python --version

大家知道django是安装到python目录下的site-packages下的,但是这几个python目录下都没有site-packages这个文件夹,其实我们可以先通过下面的命令定位一下:

root@Notebook:/usr/lib$ python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()"

上面的命令会在控制台上打印Python包路径,比如这里我们可能获得dist-packages这个目录,切换到这个目录你就会发现django在那儿啦。给django-admin.py加上权限,再做个符号连接,便于我们以后操作(我这里Django在Python2.7下):

root@Notebook:/usr/lib$ chmod 777 /usr/lib/python2.7/dist-packages/django/bin/django-admin.py

好啦,到这里基本上安装部分就介绍完了,下面讲解配置部分,首先建立我们项目的文件夹,比如说放在/opt/www下,然后通过下面的命令创建名为mysite的Django项目:

root@Notebook:~$ cd /opt/www
root@Notebook:/opt/www$ django-admin.py startproject mysite

好了,这下/opt/www目录下应该有个子文件夹名字叫mysite,我们需要丢个wsgi的配置文件到/opt/www/mysite/里面去,配置文件命名为wsgi.py,内容如下:

# wsgi.py
# /opt/www/mysite/wsgi.py
import sys
import os sys.path.append(os.path.abspath(os.path.dirname(__file__)))
# 下面这行是mysite的父目录
sys.path.append('/opt/www')
# 下面这行的值请改成相应项目名称.settings
# 我们这里是mysite.settings
os.environ['DJANGO_SETTINGS_MODULE'] = 'mysite.settings' import django.core.handlers.wsgi application = django.core.handlers.wsgi.WSGIHandler()

linux

安装Nginx+uWSGI+Django环境的更多相关文章

  1. Nginx+uWSGI+Django环境配置

    通常项目会部署在虚拟环境,虚拟环境的使用可以参考这里,点击前往 当然你也可以直接部署,这里不多说. 一.安装uWSGI 1.通过pip安装 pip install uwsgi 这里只说明了一种安装方式 ...

  2. Linux 搭建Nginx+uWSGI+Django环境

    安装环境 sudo apt-get install nginx sudo apt install python3 sudo apt install python3-pip 使用 sudo pip3 i ...

  3. 使用nginx+uwsgi+Django环境部署

    环境准备 Python点这里 nginx点这里 uwsgi点这里

  4. Nginx+uWSGI+Django+Python+ MySQL 搭建可靠的Python Web服务器

    一.安装所需工具 yum -y install gcc gcc-c++ rpm-build mysql* libtool-ltdl* libtool automake autoconf libtool ...

  5. nginx+uwsgi+django开发环境搭建

    Nginx+uWSGI+Djangoi开发环境搭建 Django简介,环境搭建 uWSGI简介,安装与配置 Nginx安装与配置 Nginx+uWSGI+Django原理解析 1.django简介,环 ...

  6. 五步教你实现使用Nginx+uWSGI+Django方法部署Django程序

    Django的部署可以有很多方式,采用nginx+uwsgi的方式是其中比较常见的一种方式. 在这种方式中,我们的通常做法是,将nginx作为服务器最前端,它将接收WEB的所有请求,统一管理请求.ng ...

  7. debian完整部署 Nginx + uWSGI + Django

    手工部署一个Django服务器真心不容易,需要安装很多东西.从头开始搭建服务器,主要是为了梳理一下后续开发中一般为碰到的平台部署.对后续问题的解决有一定帮助. 通常部署有2中方式: 一种是使用现成提供 ...

  8. nginx+uWSGI+django+virtualenv+supervisor发布web服务器

    nginx+uWSGI+django+virtualenv+supervisor发布web服务器   导论 WSGI是Web服务器网关接口.它是一个规范,描述了Web服务器如何与Web应用程序通信,以 ...

  9. Nginx+uwsgi+Django 的web应用环境部署-完整记录

    Python作为当前最火爆最热门,也是最主要的Web开发语言之一,在其二十多年的历史中出现了数十种Web框架,比如Django.Tornado.Flask.Twisted.Bottle和Web.py等 ...

随机推荐

  1. Android实现拖动进度条改变图片透明度

    layout文件: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:an ...

  2. ed编辑器使用

    evilxr@IdeaPad:/tmp$ ed aa.c 0 a enter another words hello nice www.evilxr.com . w aa.c 46 q a 表示添加内 ...

  3. HTML 5 canvas —— 基本语法

    目录 简述 canvas 基础 2D context API 基本线条 路径 插入图像 像素级操作 文字 阴影 颜色渐变 小节 简述 HTML 5 规范引进了很多新特性,其中最令人期待的之一就是 ca ...

  4. UML开始,OOA与OOD以及一个网站

    1.Object-Oriented Analysis(面向对象分析方法)是确定需求或者业务的角度,按照面向对象的思想来分析业务 2.面向对象设计(Object-Oriented Design,OOD) ...

  5. 怎么给ABBYY FineReader Mac导入图像

    ABBYY FineReader Pro for Mac作为ABBYY旗下重要的OCR文字识别软件之一,专为Mac用户定制,为各种各样的任务提供了单一.全面的解决方案,它是所有需要扫描和处理数字纸质文 ...

  6. sql server 常用的系统存储过程

      系统存储过程 说明 sp_databases 列出服务上的所有数据库 sp_helpdb 报告有关指定数据库或所有数据库的信息 sp_renamedb 更改数据库的名称 sp_tables 返回当 ...

  7. Openjudge计算概论-求序列中的众数

    /*===================================== 求序列中的众数 总时间限制: 1000ms 内存限制: 65536kB 描述 输入一个长度为N的整数序列 (不多于128 ...

  8. WCF Client is Open Source

    WCF Client is Open Source Wednesday, May 20, 2015 Announcement New Project WCF We’re excited to anno ...

  9. 添加和删除节点(HTML 元素)。

    JavaScript HTML DOM 元素(节点)   添加和删除节点(HTML 元素). 创建新的 HTML 元素 如需向 HTML DOM 添加新元素,您必须首先创建该元素(元素节点),然后向一 ...

  10. Spark(三): 安装与配置

    参见 HDP2.4安装(五):集群及组件安装 ,安装配置的spark版本为1.6, 在已安装HBase.hadoop集群的基础上通过 ambari 自动安装Spark集群,基于hadoop yarn ...