1.安装 flup 模块

  下载:http://projects.unbit.it/downloads/uwsgi-latest.tar.gz

  安装:python setup.py install

2.安装 django

  去官网下载:https://www.djangoproject.com/download/

  安装:python setup.py install

3.建立服务器与 FastCGI server 的链接

  web 服务器可通过两种办法和 FastCGI server 连接:
  1). Unix domain socket(或 win32 的“命名管道")
  2). TCP socket
  通常 TCP socket 更简单, 因为权限问题比较好配置

  如何启动 FactCGI 服务器:
    到项目目录中, 执行:
    python manage.py runfcgi [options]
    如果要看帮助:
    python manage.py runfcgi help

    在选项中, 需要指定一个 socket 或 (host 和 port 的组合), 这样的话, 当你启动 web server 时, 就可以通过这些信息来连接到 FactCGI 服务器

    以下为两种启动方法的示例, 可以选择其中一种:      1).在 TCP 端口中运行一个线程内服务器:

      python manage.py runfcgi method=threaded host=127.0.0.1 port=8051 daemonize=true minspare=10 maxspare=30

      2).在 Unix domain socket 上运行一个 preforked 服务器(Windows不支持):

      python manage.py runfcgi method=prefork socket=/tmp/django.sock daemonize=true maxrequests=1 minspare=10 maxspare=30 pidfile=/var/run/django.pid

      # maxspare为初始化的进程/线程数, 也是最少个数 
      # minspare为最少空闲进程/线程数, 注意空闲二字 
      # maxchildren 进程/线程上限, 以每个py进程20~30M算, 自己算下服务器内存能创建最大进程数吧
      # maxrequests 处理多少个请求后, 销毁进/线程, 防内存泄漏, 默认不销毁 
      # method = prefork|threaded 进程或线程跑你的程序, 默认进程。

      PS: 如果不调试则 daemonize=false

      PS: 第二种方法如果想停止后台的 FastCGI 进程, 执行 kill -9 `cat /var/run/django.pid`

4.修改nginx的配置文件:

server {
        listen       8000;
    server_name  localhost;
    access_log  /usr/local/nginx/log.log main;
    error_log /usr/local/nginx/error.log  debug;
    location / {

     #如果上面是采用TCP的形式则
            #fastcgi_pass 127.0.0.1:8051;
     #如果上面是采用的unix sock的形式则
            fastcgi_pass unix:/tmp/django.sock;
            fastcgi_param PATH_INFO $fastcgi_script_name;
            fastcgi_param REQUEST_METHOD $request_method;
            fastcgi_param QUERY_STRING $query_string;
            fastcgi_param CONTENT_TYPE $content_type;
            fastcgi_param CONTENT_LENGTH $content_length;
            fastcgi_param REMOTE_ADDR $remote_addr;
            fastcgi_param SERVER_PROTOCOL $server_protocol;
            fastcgi_param SERVER_PORT $server_port;
            fastcgi_param SERVER_NAME $server_name;
            fastcgi_pass_header Authorization;
            fastcgi_intercept_errors off;
        }
    }

5.启动nginx服务器

  1.检测nginx服务器配置

    /usr/local/nginx/sbin/nginx -t

  2.平滑重启

    /usr/local/nginx/sbin/nginx -s reload

6.访问localhost:8000即可

7.如果出现502错误, 检查错误日志, 及/tmp/django.sock的访问权限

参考:

  Django on Nginx https://wiki.freebsdchina.org/doc/n/nginx_django

  django-admin.py和manage.py http://www.tuicool.com/articles/226ZZv

  Python+Django+Nginx服务器环境的配置 https://wiki.freebsdchina.org/doc/n/nginx_django

  如何用 FastCGI 运行 Django http://www.cnblogs.com/RChen/archive/2007/03/23/django_fcgi.html

  linux下nginxpythonfastcgi部署总结django版 http://www.vimer.cn/2011/07/linux%E4%B8%8Bnginxpythonfastcgi%E9%83%A8%E7%BD%B2%E6%80%BB%E7%BB%93django%E7%89%88.html

  Django 站点部署和管理常用命令 http://www.oschina.net/question/234345_54799

  

Python-搭建Nginx+Django环境的更多相关文章

  1. Python Virtualenv运行Django环境配置

    系统: RHEL6.5 版本说明: Python-3.5.0 Django-1.10.4 virtualenv:为每个项目建立不同的/独立的Python环境,你将为每个项目安装所有需要的软件包到它们各 ...

  2. 搭建Nginx+JAVA环境

    搭建Nginx+JAVA环境 Apache对Java的支持很灵活,他们的结合度也很高,例如Apache+Tomcat和Apache+resin等都可以实现对Java应用的支持.Apache一般采用一个 ...

  3. Django之在Python中调用Django环境

    Django之在Python中调用Django环境 新建一个py文件,在其中写下如下代码: import os if __name__ == '__main__': os.environ.setdef ...

  4. python学习之——django环境搭建

    Django是一个基于MVC构造的框架,用于web开发,主要目的是简便.快速的开发数据库驱动的网站. 前提:已经安装python 搭建步骤: 1.https://www.djangoproject.c ...

  5. 使用docker快速搭建nginx+php环境

    在朋友的强烈推荐下,走上了docker之路.经过了繁琐的docker环境安装,看了下镜像/容器的简单使用,开始进行nginx+php环境的搭建,本文记录一下在安装过程中的笔记. 原文地址:代码汇个人博 ...

  6. PHP-Windows下搭建Nginx+PHP环境

    项目中光用Nginx了, 由于有运维人员, 很少搭建Nginx服务器, 开发也就用用Apache, 搭过几次Nginx也忘的快, 每次都去翻别人博客, 今天重搭特此记录, 装前最好了解下FastCGI ...

  7. celery 分布式异步任务框架(celery简单使用、celery多任务结构、celery定时任务、celery计划任务、celery在Django项目中使用Python脚本调用Django环境)

    一.celery简介: Celery 是一个强大的 分布式任务队列 的 异步处理框架,它可以让任务的执行完全脱离主程序,甚至可以被分配到其他主机上运行.我们通常使用它来实现异步任务(async tas ...

  8. docker一键搭建Nginx+PHP环境(含自动部署命令)

    文章的主要部分是一步一步的教程,文章的最后是我整理好的一键安装命令,自动下载并安装docker,构建镜像,启动容器集群(压缩包内注释覆盖范围达到80%) 大家可以看完教程亲自尝试下,也可以直接执行一键 ...

  9. 搭建Nginx+Java环境测试并且运行

    一.简介: Tomcat在高并发环境下处理动态请求时性能很低,而在处理静态页面更加脆弱.虽然Tomcat的最新版本支持epoll,但是通过Nginx来处理静态页面要比通过Tomcat处理在性能方面好很 ...

随机推荐

  1. zoj 1610 Count the Colors 线段树区间更新/暴力

    Count the Colors Time Limit: 1 Sec  Memory Limit: 256 MB 题目连接 http://acm.zju.edu.cn/onlinejudge/show ...

  2. CC1101是一种低成本真正单片的UHF收发器

    CC1101是一种低成本真正单片的UHF收发器,为低功耗无线应用而设计.电路主要设定为在315.433.868和915MHz的ISM(工业,科学和医学)和SRD(短距离设备)频率波段,也可以容易地设置 ...

  3. FreeRTOS API

    Task Creation xTaskCreate vTaskDelete Task Control vTaskDelay vTaskDelayUntil uxTaskPriorityGet vTas ...

  4. Druid 配置_配置WebStatFilter

    https://github.com/alibaba/druid/wiki/%E9%85%8D%E7%BD%AE_%E9%85%8D%E7%BD%AEWebStatFilter WebStatFilt ...

  5. Jquery实战——横纵向的菜单

    横纵向的菜单效果,点击纵向菜单显示其子菜单.鼠标指向横菜单的时候.显示其子菜单,鼠标离开,子菜单隐藏. HTML代码: <span style="font-size:18px;&quo ...

  6. OpenERP实施记录(11):入库处理

    本文是<OpenERP实施记录>系列文章的一部分. 在前面的文章中,业务部门接到沃尔玛3台联想Y400N笔记本电脑的订单,采购部门完成了补货处理.因为该产品的“最少库存规则”里面定义了“最 ...

  7. (转)Sql Server 快速查看表结构(表描述及字段说明)

    --表描述 SELECT tbs.name 表名,ds.value 描述 FROM sys.extended_properties ds LEFT JOIN sysobjects tbs ON ds. ...

  8. PHP-Java-Bridge使用笔记

    最近因为需要封装一个jar包供php调用,在网上搜索了下,基本上讲都是使用php-java-bridge,说实话,网上的教程有很多是不行的,但是功夫不负有心人,找到了一篇文章,也很感谢那篇文章的作者, ...

  9. 给文件夹添加Everyone用户

    DOC命令 C# code 1. cacls C:dming /g everyone:f /e /t 这样可以添加 2. cacls C:Program Files客友软件 /g everyone:f ...

  10. go语言基础之包和自定义包与main包

    1.包 所有 Go 语言的程序都会组织成若干组文件,每组文件被称为一个包.这样每个包的代码都可以作为很小的复用单元,被其他项目引用. 一个包的源代码保存在一个或多个以.go为文件后缀名的源文件中,通常 ...