上一涨讲解了如何使用nginx+uwsgi部署wsgi application

  其实django配置方式和 application都一样,因为如果我们对application进行扩展就是一个WSGI framework

我们使用

django-admin.py startproject mysite

创建一个简单的 django app命名为mysite

 然后我们在mysite中创建一个 static 目录,主要用于放置mysite的静态文件。因为我们不打算让Djando管理静态文件,把管理静态文件的任务交给nginx,因为那是它的强项

我们咋 static 目录下创建一个 js 目录 和一个 time.html ,我们把  jquery.js 放到 js目录下

time.html

 <html>
<head>
<title>time
</title>
<script type="text/javascript" src="js/jquery-1.7.min.js"></script>
<script type="text/javascript">
$(function () {
$(':button').click(function () {
$.ajax({
url: '/query_time',
dataType: 'text',
success: function (time) {
$('[name="time"]').val(time)
}
});
});
});
</script>
</head>
<body>
<table style="margin: 0 auto">
<tr>
<td>
<input type="text" name="time" disabled="disabled" /></td>
</tr>
<tr>
<td>
<input type="button" value="Query Time" /></td>
</tr>
</table>
</body>
</html>

主页 home.html

 <html>
<head>
<title>home</title>
<style type="text/css">
div {
width: 200px;
height: 100px;
background-color: aquamarine;
font-family: 'Arial Black', Gadget, sans-serif;
margin: 0 auto;
text-align: center;
font-size: 20px;
}
</style>
</head> <body>
<div>
Home Page
</div>
</body>
</html>

我们在 mysite中的创建一个 views.py 文件:

 from django.shortcuts import HttpResponse
import datetime static_path = os.path.join(os.path.dirname(sys.argv[0]).replace('\\', '/'), 'static') def home(request):
try:
home_file = open(static_path + '/home.html')
except IOError:
return Http404()
html = home_file.read()
home_file.close()
return HttpResponse(html) def query_time(request):
now = datetime.datetime.now().strftime("%Y-%m-%d %H:%M")
return HttpResponse(now)

urls.py代码:

 from django.conf.urls import patterns, url
from mysite.views import home, query_time urlpatterns = patterns('',
url(r'^$', home),
url(r'^query_time/$', query_time),
)

nginx配置

  location /     {
#wsgi config
include uwsgi_params;
uwsgi_pass localhost:9000;
}
location ~* ^.+\.(ico|gif|jpg|jpeg|png|html|htm)$ {
root /home/artscrafts/mysite/static;
access_log off;
} location ~* ^.+\.(css|js|txt|xml|swf|wav)$ {
root /home/artscrafts/mysite/static;
access_log off;
}

这次我们使用 uwsgi 的.ini文件启动

mysite.ini

 [uwsgi]
chdir=/home/artscrafts/mysite
module=mysite.wsgi:application
env DJANGO_SETTINGS_MODULE=mysite.settings
socket=127.0.0.1:9000
processes=5
max-requests=5000
daemonize=/var/log/uwsgi/mysite.log

部署

sudo uwsgi mysite.ini

访问 localhost/time.html

nginx+uwsgi+django的更多相关文章

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

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

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

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

  3. 安装Nginx+uWSGI+Django环境

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

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

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

  5. Nginx+uWSGI+Django原理

    Python的Web开发中,如果使用Django框架,那么较为成熟稳定的服务器架构一般是Nginx+uWSGI+Django.而为什么一定要三个结合在一起呢?直接使用Django的runserver来 ...

  6. Nginx+uWSGI+Django环境配置

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

  7. nginx+uwsgi+django 部署原理

    python开发群里经常有同学问 nginx+uwsgi+django 着了教程部署,但是不知道他们之间怎么样的关系,于是我就google到了一个让我看起来很认同的图,大家看了也比较认同,于是就分享出 ...

  8. SLAM+语音机器人DIY系列:(八)高阶拓展——2.centos7下部署Django(nginx+uwsgi+django+python3)

    0.安装步骤预览(1)系统默认自带python2.x,所以需要先安装python3.x(2)python2对应pip,python3对应pip3,用源码安装python3后pip3也自动安装了(3)用 ...

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

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

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

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

随机推荐

  1. String的成员方法的使用

    <%@ page language="java" contentType="text/html; charset=gbk"%> <html&g ...

  2. Delphi下实现全屏快速找图找色

    前言 最近有好几个朋友都在问我找图找色的问题,奇怪?于是乎写了一个专门用于找图找色的单元文件“BitmapData.pas”.在这个单元文件中我实现了从文件中导入位图.屏幕截图.鼠标指针截图.在图片上 ...

  3. mount命令以及mount ntfs硬盘权限权限与显示的问题 分类: shell ubuntu 2014-11-08 18:29 148人阅读 评论(0) 收藏

    sudo mount -t 文件系统类型 -o 可设置选项 设备路经 访问路经 #常用文件类型如下: iso9660 光驱文件系统, vfat fat/fat32分区, ntfs ntfs分区, sm ...

  4. linux进程调度之 FIFO 和 RR 调度策略---SYSTEMTAP

    http://blog.chinaunix.net/uid-24774106-id-3379478.html http://blog.chinaunix.net/uid-24774106-id-337 ...

  5. [转] How to dispatch a Redux action with a timeout?

    How to dispatch a Redux action with a timeout? Q I have an action that updates notification state of ...

  6. Java基础知识强化之集合框架笔记33:Arrays工具类中asList()方法的使用

    1. Arrays工具类中asList()方法的使用 public static <T> List<T> asList(T... a): 把数组转成集合 注意事项: 虽然可以把 ...

  7. SQLCLR

    hsrzyn SQLCLR   什么是SQLCLR SQL CLR (SQL Common Language Runtime) 是自 SQL Server 2005 才出现的新功能,它将.NET Fr ...

  8. JSONModel的基本使用

    JSONModel 是一个库,它能智能并且快速的创建出数据 model,你可以在你的 iOS 项目或者 OSX 项目上使用它. 使用前准备 添加 JSONModel 到你的工程中 1.需要的环境: A ...

  9. iOS 集成支付宝遇到的问题(续)

    调起支付宝进行支付时提示private key is null ,碰到这个问题有两种解决方案 第一种. 将私钥转成PKCS8替换一下原私钥即可 1.生成私钥pem,  执行命令openssl genr ...

  10. 在Mac OS上搭建本地服务器

    我们在做网络编程的时候一般是需要有网络环境的,这样可以边写边测试达到很高的效率.但有些时候我们由于很多原因我们的电脑无法连接到网络,这时就会感觉很不自在,所以今天在这里教大家怎么用自己电脑作服务器. ...