ITPub博客

首页 > 应用开发 > IT综合 > 【Python】Nginx+uwsgi+Django部署代码

【Python】Nginx+uwsgi+Django部署代码

原创 IT综合 作者:小亮520cl 时间:2017-02-22 13:39:17 0 删除 编辑

Nginx+uwsgi+Django部署代码

安装uwsgi

1.安装pip

可以参考这篇文章:http://www.jsxubar.info/install-pip.html


2.安装uwsgi

pip install uwsgi

3 测试uwsgi

  1. 在你的机器上写一个test.py

  2. # test.py
  3. def application(env, start_response):
  4.     start_response('200 OK', [('Content-Type','text/html')])
  5.     return "Hello World"

然后执行shell命令:

uwsgi --http :8001 --wsgi-file test.py

访问网页:

http://127.0.0.1:8001/

看在网页上是否有Hello World


4.编写uwsgi启动配置文件

  1. [root@host-192-168-1-56 devops]# more my.ini
  2. [uwsgi]
  3. socket=:8001
  4. chdir=/svn/devops/devops                     ###项目目录
  5. pythonapth=/usr/bin/python
  6. processes=4
  7. env=DJANGO_SETTINGS_MODULE=devops.settings   ###指定 项目名.setting
  8. module=devops.wsgi                           ###指定wsgi.py配置文件,该配置文件和setting在一个目录下
  9. threads=0
  10. master=true
  11. daemonize=/tmp/uwsgi.log
  12. pidfile=/tmp/uwsgi.pid
  13. python-autoreload=true
  14. buffer-size=51200

5.编写wsgi配置文件

  1. [root@host-192-168-1-56 devops]# more devops/wsgi.py
  2. """
  3. WSGI config for devops project.

  4. It exposes the WSGI callable as a module-level variable named ``application``.

  5. For more information on this file, see
  6. https://docs.djangoproject.com/en/1.10/howto/deployment/wsgi/
  7. """

  8. import os

  9. from django.core.wsgi import get_wsgi_application

  10. os.environ.setdefault("DJANGO_SETTINGS_MODULE", "devops.settings")

  11. application = get_wsgi_application()

6.配置nginx
  1. 配置文件
  2. [root@host-192-168-1-56 devops]# more /usr/local/nginx/conf/vhost/blog.haodai.com.conf 
    upstream django {
        server 127.0.0.1:8001; # for a web port socket (we'll use this first)
    }


    server {
        listen      8099;
        server_name devops.XXX.net;
        charset     utf-8;
        root /svn/devops/devops;
        client_max_body_size 75M;   # adjust to taste




        location /static {
            alias /svn/devops/devops/static;            ---nginx调用项目的静态文件
            expires 20d;
        }


        location / {
            uwsgi_pass  django;                        ---反向代理,简单写法直接写成uwsgi_pass  127.0.0.1:8001即可
            include uwsgi_params;
        }


    access_log /home/wwwlogs/devops.log access;
    }


7 启动,测试
  1. 启动uwsgi和nginx
  2. [root@host-192-168-1-56 devops]# /usr/local/python/bin/uwsgi my.ini
  3. [root@host-192-168-1-56 devops]# nginx -s reload
  4. 测试:


参考链接:
http://www.python88.com/topic/101/?page=2
http://www.python88.com/topic/124/

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29096438/viewspace-2134101/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
毕业以后专业任职数据库工程师职位,itpub一直作为自己的笔记记录的地方,blog写的不详细,草书笔记,仅供参考!

注册时间:2013-09-12

  • 博文量
    529
  • 访问量
    1126954