nginx+uwsgi+django
上一涨讲解了如何使用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的更多相关文章
- 五步教你实现使用Nginx+uWSGI+Django方法部署Django程序
Django的部署可以有很多方式,采用nginx+uwsgi的方式是其中比较常见的一种方式. 在这种方式中,我们的通常做法是,将nginx作为服务器最前端,它将接收WEB的所有请求,统一管理请求.ng ...
- Nginx+uWSGI+Django+Python+ MySQL 搭建可靠的Python Web服务器
一.安装所需工具 yum -y install gcc gcc-c++ rpm-build mysql* libtool-ltdl* libtool automake autoconf libtool ...
- 安装Nginx+uWSGI+Django环境
Ubuntu Server 12.04 安装Nginx+uWSGI+Django环境 今天要介绍的是利用APT源直接apt-get install安装配置我们所需要的环境,首先按惯例先安装MySQL和 ...
- debian完整部署 Nginx + uWSGI + Django
手工部署一个Django服务器真心不容易,需要安装很多东西.从头开始搭建服务器,主要是为了梳理一下后续开发中一般为碰到的平台部署.对后续问题的解决有一定帮助. 通常部署有2中方式: 一种是使用现成提供 ...
- Nginx+uWSGI+Django原理
Python的Web开发中,如果使用Django框架,那么较为成熟稳定的服务器架构一般是Nginx+uWSGI+Django.而为什么一定要三个结合在一起呢?直接使用Django的runserver来 ...
- Nginx+uWSGI+Django环境配置
通常项目会部署在虚拟环境,虚拟环境的使用可以参考这里,点击前往 当然你也可以直接部署,这里不多说. 一.安装uWSGI 1.通过pip安装 pip install uwsgi 这里只说明了一种安装方式 ...
- nginx+uwsgi+django 部署原理
python开发群里经常有同学问 nginx+uwsgi+django 着了教程部署,但是不知道他们之间怎么样的关系,于是我就google到了一个让我看起来很认同的图,大家看了也比较认同,于是就分享出 ...
- SLAM+语音机器人DIY系列:(八)高阶拓展——2.centos7下部署Django(nginx+uwsgi+django+python3)
0.安装步骤预览(1)系统默认自带python2.x,所以需要先安装python3.x(2)python2对应pip,python3对应pip3,用源码安装python3后pip3也自动安装了(3)用 ...
- nginx+uwsgi+django开发环境搭建
Nginx+uWSGI+Djangoi开发环境搭建 Django简介,环境搭建 uWSGI简介,安装与配置 Nginx安装与配置 Nginx+uWSGI+Django原理解析 1.django简介,环 ...
- nginx+uWSGI+django+virtualenv+supervisor发布web服务器
nginx+uWSGI+django+virtualenv+supervisor发布web服务器 导论 WSGI是Web服务器网关接口.它是一个规范,描述了Web服务器如何与Web应用程序通信,以 ...
随机推荐
- fastjson 的简单说明及使用
fastjson 是一个性能很好的 Java 语言实现的 JSON 解析器和生成器,来自阿里巴巴的工程师开发. 各个版本jar包下载地址:https://repo1.maven.org/maven2/ ...
- c++ 流基本概念
前言 在程序经常实现数据的输入和输出,c++通过一种称为流(stream)的机制提供了更为精良的输入和输出方法.流是一种灵活且面向对象的I/o方法. 根据操作对象不同分为文件流.字符串流.控制台流. ...
- SQL Server阻止了对组件xp_cmdshell过程的解决方案 分类: SQL Server 2015-03-05 08:31 305人阅读 评论(0) 收藏
SQL Server阻止了对组件xp_cmdshell过程的解决方案 错误描述:SQL Server阻止了对组件'xp_cmdshell'的过程'sys.xp_cmdshell'的访问.因为此组件已作 ...
- Hibernate环境搭建超详细
前言 环境搭建其实可以简单到导入相关jar包即可. 但是对于学习来说,这个环境搭建的内容还是挺多的,目的是提供一个让我们如何快速学习和掌握类库的学习环境.作为程序猿,学习和使用类库是必须掌握的技能.如 ...
- Gwt 整合FusionCharts及封装搜狗地图时出现的问题
smartGwt 整合FusionCharts 把需要的.swf文件和FusionCharts.js放在war下面(路径就自己定了) 可以工程的html文件中引FusionCharts.js文件 也可 ...
- asp.net 动态添加多附件上传.
最近有人问起动态多文件上传,想要做到类似于邮箱添加附件的效果,这个功能其实比较简单,就是往form中添加file元素.在用户选择完文件后,再添加一个file控件,由于file控件过多,视觉上不好看,所 ...
- android 02 登录
activity_main.xml <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android& ...
- MyEclipse8.6安装svn(非link方式)
此方法经试验可行,暂时可以作为最佳解决方案. 本文所使用的MyEclipse版本为:8.6.1 svn的eclipse插件版本为:1.6.17,下载地址:http://subclipse.tigris ...
- Java多线程编程<一>
怎样做到线程安全? 1.不要跨线程共享变量: 2.使状态变量为不可变的: 3.或者在任何访问状态变量的时候使用同步 同步synchronized //静态的synchronized方法从Class对象 ...
- 一次项目中用到的php函数总结
最近做的一个项目,我把做的过程中用到的php函数总结一下.以后遇到类似的不用百度,直接看自己总结的就好了.都是一些简单基础的函数,随手记下.方便以后学习. 1.array_sum() 返回数组中的所有 ...