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. MySQL遇到的一个卡库问题及对update的学习

    近日遇到个卡库的问题,环境是MySQL5.5.12,报错信息如下 ) and was aborted. There is a chan ce that your master is inconsist ...

  2. 普通主板设置BIOS实现电脑插电自动启动

    说明: 1.为什么要实现这种功能,很多时候在民间都基本用普通PC来做小型服务器,公司的私服等等,而这些普通PC在民用电环境中经常会停电,一停就会导致服务器不能自动来电重启,所以这个功能来点开机是必须的 ...

  3. ASIHTTPRequest的环境配置和使用示例

    ASIHTTPRequest类库是基于ISO SDK的一组网络请求的API.IOS SDK的网络组件CFNetwork API操作起来非常复杂.而ASIHTTPRequest类库是对CFNetwork ...

  4. cocos2d3.0 Scale9Sprite

    使用Scale9Sprite须要引入以下的头文件 #include "extensions/cocos-ext.h" USING_NS_CC; USING_NS_CC_EXT; 一 ...

  5. 菜鸟的mongoDB学习---(七)MongoDB 备份(mongodump)与恢复(mongorerstore)

    MongoDB数据备份 在Mongodb中我们使用mongodump命令来备份MongoDB数据. 该命令能够导出全部数据到指定文件夹中. mongodump命令能够通过參数指定导出的数据量级转存的s ...

  6. python接口自动化10-token登录

    前言 有些登录不是用cookie来验证的,是用token参数来判断是否登录. token传参有两种一种是放在请求头里,本质上是跟cookie是一样的,只是换个单词而已:另外一种是在url请求参数里,这 ...

  7. ICLR 2014 International Conference on Learning Representations深度学习论文papers

    ICLR 2014 International Conference on Learning Representations Apr 14 - 16, 2014, Banff, Canada Work ...

  8. jenkins双向备份;高可用部署;

    如果把一个Jenkins的整个目录赋值到另一个Jenkins的目录,则需要务必保持两个Jenkins版本是相同的,不然容易出现Jenkins插件兼容性问题. 另外使用inotify+rsync备份的时 ...

  9. 图片变换【Matrix】矩阵 简介

    Matrix矩阵介绍 官方文档地址:https://developer.android.com/reference/android/graphics/Matrix.html 在Android中,对图片 ...

  10. 浏览器自动化测试初探 - 使用phantomjs与casperjs

    收录待用,修改转载已取得腾讯云授权 作者:yangchunwen 首先要解释一下为什么叫浏览器自动化测试,因为本文只关注发布后页面功能的自动化测试,也就是UI层面的自动化. 浏览器测试有别于js代码的 ...