zoukankan      html  css  js  c++  java
  • 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

     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              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配置

      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

    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

      部署

    sudo uwsgi mysite.ini

     

    访问 localhost/time.html

     

  • 相关阅读:
    Python学习————并发编程
    Python学习————作业
    Python学习————网络编程
    Python学习————异常处理
    Python学习————反射
    Python学习————绑定方法
    Python学习————继承
    1765 谷歌的恐龙
    2504 是子序列的个数
    51Nod2386 分则能成
  • 原文地址:https://www.cnblogs.com/ArtsCrafts/p/uwsgi_2.html
Copyright © 2011-2022 走看看