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. April Fools Day Contest 2016 B. Scrambled

    B. Scrambled 题目连接: http://www.codeforces.com/contest/656/problem/B Description Btoh yuo adn yuor roo ...

  2. Circuit provides reference for multiple ADCs

    The achievable accuracy for systems with multiple ADCs depends directly on the reference voltages ap ...

  3. Fixed DC-DC Regulator Output Uses A Digitally Controlled Potentiometer

    http://electronicdesign.com/print/passives/fixed-dc-dc-regulator-output-uses-digitally-controlled-po ...

  4. 【转】2012年6月26 – 盛大PHP工程师最新面试题

    无笔试. 口试:(前半部分平淡无奇,没什么太难的问题,都是求职岗位基本要会的东西,局限于php.下面是真正进入状态的题.) 谈谈观察者模式是什么?主要应用. 答:类似会有一些server对象时刻侦听某 ...

  5. vue2.0中引入UEditor的一些坑。。。。

    开发后台系统的时候,富文本编辑器肯定是必不可少的,然后呢~在天朝当然要属百度编辑器(UEditor)最成熟了,功能全面,文档齐全(相对),ui优美(...,对于程序员来说)等等许多方面(MMP,还不是 ...

  6. angular2组件通信

    父到子 父组件: ts部分: @Component({ selector: 'app-info', templateUrl: './info.component.html', styleUrls: [ ...

  7. Spring事务为什么不会自动回滚?Spring事务怎样才会自动回滚?事务自动回滚条件及手动回滚

    原文:https://blog.csdn.net/qq_32331073/article/details/76508147 更多Spring事务问题请访问链接:Spring事务回滚问题疑难详解 在此, ...

  8. hadoop下c++程序-天气实例

    非常希望能在hadoop上做c++程序.自己对c++还是有点情节的,依据<hadoop权威指南中文第二版>Hadoop的Pipes进行了试验,并測试成功 #include <algo ...

  9. MySQL数据库的概念

    学习数据库的一些知识.写写博客方便梳理以及巩固知识. 关于什么是数据库就举一个样例来说明,说的可能不够准确,仅仅要明确一个大概的意思就够了.深刻的学习还是要去看书的. 讲讲生活中有关数据的样例:在一个 ...

  10. Linux命令执行的屏幕输出内容重定向到日志文件

    摘要: 作者:Syn良子 出处:http://www.cnblogs.com/cssdongl 转载请注明出处 快速mark一下这个命令细节,免得以后使用又忘记了 大家都知道可以用echo来输出内容到 ...