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

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

我们使用

  1. django-admin.py startproject mysite

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

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

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

time.html

  1. <html>
  2. <head>
  3. <title>time
  4. </title>
  5. <script type="text/javascript" src="js/jquery-1.7.min.js"></script>
  6. <script type="text/javascript">
  7. $(function () {
  8. $(':button').click(function () {
  9. $.ajax({
  10. url: '/query_time',
  11. dataType: 'text',
  12. success: function (time) {
  13. $('[name="time"]').val(time)
  14. }
  15. });
  16. });
  17. });
  18. </script>
  19. </head>
  20. <body>
  21. <table style="margin: 0 auto">
  22. <tr>
  23. <td>
  24. <input type="text" name="time" disabled="disabled" /></td>
  25. </tr>
  26. <tr>
  27. <td>
  28. <input type="button" value="Query Time" /></td>
  29. </tr>
  30. </table>
  31. </body>
  32. </html>

主页 home.html

  1. <html>
  2. <head>
  3. <title>home</title>
  4. <style type="text/css">
  5. div {
  6. width: 200px;
  7. height: 100px;
  8. background-color: aquamarine;
  9. font-family: 'Arial Black', Gadget, sans-serif;
  10. margin: 0 auto;
  11. text-align: center;
  12. font-size: 20px;
  13. }
  14. </style>
  15. </head>
  16.  
  17. <body>
  18. <div>
  19. Home Page
  20. </div>
  21. </body>
  22. </html>

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

  1. from django.shortcuts import HttpResponse
  2. import datetime
  3.  
  4. static_path = os.path.join(os.path.dirname(sys.argv[0]).replace('\\', '/'), 'static')
  5.  
  6. def home(request):
  7. try:
  8. home_file = open(static_path + '/home.html')
  9. except IOError:
  10. return Http404()
  11. html = home_file.read()
  12. home_file.close()
  13. return HttpResponse(html)
  14.  
  15. def query_time(request):
  16. now = datetime.datetime.now().strftime("%Y-%m-%d %H:%M")
  17. return HttpResponse(now)

urls.py代码:

  1. from django.conf.urls import patterns, url
  2. from mysite.views import home, query_time
  3.  
  4. urlpatterns = patterns('',
  5. url(r'^$', home),
  6. url(r'^query_time/$', query_time),
  7. )

nginx配置

  1. location / {
  2. #wsgi config
  3. include uwsgi_params;
  4. uwsgi_pass localhost:9000;
  5. }
  6. location ~* ^.+\.(ico|gif|jpg|jpeg|png|html|htm)$ {
  7. root /home/artscrafts/mysite/static;
  8. access_log off;
  9. }
  10.  
  11. location ~* ^.+\.(css|js|txt|xml|swf|wav)$ {
  12. root /home/artscrafts/mysite/static;
  13. access_log off;
  14. }

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

mysite.ini

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

部署

  1. 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. thinkphp 重定向redirect

    /** * URL重定向 * @param string $url 重定向的URL地址 * @param integer $time 重定向的等待时间(秒) * @param string $msg ...

  2. Linux下部署LVS(DR)+keepalived+Nginx负载均衡

    架构部署 LVS/keepalived(master):192.168.21.3  LVS/keepalived(Slave):192.168.21.6  Nginx1:192.168.21.4  N ...

  3. java工程项目里,在一个包里面,不能出现同名的类名,这问题是刚接触java才会遇到的,特别是新手一般都没有建立包,而是使用默认的,易出现同名的类名,导致eclipse提示错误

    java工程项目里,在一个包里面,不能出现同名的类名,这问题是刚接触java才会遇到的,特别是新手一般都没有建立包,而是使用默认的,易出现同名的类名,导致eclipse提示错误. 问题: 创建了一个工 ...

  4. spring MVC 整合mongodb

    Spring Mongodb 目录 1 SPRING整合MONGODB 1 1.1 环境准备 1 1.2 包依赖 1 1.3 配置 2 2 案列 5 2.1 SPRING MVC整合MONGODB代码 ...

  5. 只有在配置文件中或 Page 说明会 enableSessionState 至 true 时刻,能够使用会话状态。另外,还要确保应用程序配置 // 段包含 System.Web.SessionSta

    首先,弄清楚我们的目的,我的目标是验证用户登录.那是,Session["userName"]!=null 在ok该 起初,我是这么写的,结果给出,提示如果上述错误标题,在调查的很长 ...

  6. FtpClient中文乱码问题解决

    最近在做文件服务器的相关东西,在原有的磁盘存储的基础上,增加了Ftp的存储方式,客户端选用的是Apache的FtpClient.  今天在测试的时候,发现中文的路径后者文件名不支持,查阅了相关资料后终 ...

  7. linux中history命令使用与配置

    history中设置显示命令的执行时间 vi /root/.bashrc HISTTIMEFORMAT="%Y-%M-%D %H:%M:%S" export HISTTIMEFOR ...

  8. updatepanel局部刷新功能,实现注册时对用户名的检测

    updatepanel的使用 通过将控件放入到updatepanel中,实现局部刷新. 前台代码:<asp:ScriptManager ID="ScriptManager1" ...

  9. 解决UITableView中Cell重用机制导致内容出错的方法总结

    UITableView继承自UIScrollview,是苹果为我们封装好的一个基于scroll的控件.上面主要是一个个的 UITableViewCell,可以让UITableViewCell响应一些点 ...

  10. 读懂IL代码(二)

    上一篇提到了最基本的IL代码,应该是比较通俗易懂的,所以有了上一篇的基础之后,这篇便要深入一点点的来讲述了. 首先我必须再来说一些重要的概念: Evaluation Stack(评估栈):这是由.NE ...