Python进阶(三十七)-Windows7使用nginx+apache部署django项目

标签: apache python nginx django
40460人阅读 评论(0) 收藏 举报
分类:

Python进阶(三十七)-Windows7使用nginx+apache部署django项目

  Django的部署可以有很多方式,采用nginx+uwsgi的方式是其中比较常见的一种方式。
  目前国内各大门户网站已经部署了nginx,如新浪、网易、腾讯等;国内几个重要的视频分享网站也部署了nginx,如六房间、酷6等。新近发现nginx 技术在国内日趋火热,越来越多的网站开始部署nginx。
  相比apache、iis,nginx以轻量级、高性能、稳定、配置简单、资源占用少等优势广受欢迎。
  在这种方式中,我们的通常做法是,将nginx作为服务器最前端,它将接收WEB的所有请求,统一管理请求。nginx把所有静态请求自己来处理(这是nginx的强项)。然后,nginx将所有非静态请求通过uwsgi传递给Django,由Django来进行处理,从而完成一次WEB请求。
可见,uwsgi的作用就类似一个桥接器。起到桥梁的作用。
  Linux的强项是用来做服务器,但是自己的项目是在windows7系统下完成的,索性就在windows系统下完成项目部署。
但是,uwsgi并没有适合Windows的安装版本。因为os.uname()这个function在Windows版本中是没有的,所以Windows中uwsgi目前应该是无法安装的。
  在使用pip install uwsgi命令安装uwsgi时,出现了以下错误提示。
pip install uwsgi 安装不成功 提示 ‘module’ object has no attribute ‘uname’
这里写图片描述
  遂决定使用下载安装包的方式进行安装。下载地址:
https://pypi.Python.org/pypi/uWSGI/。自己下载的uwsgi版本为2.0.15。
  下载完成后,进行解压。在Dos窗口切换至解压目录,然后执行python setup.py install命令。但是仍然出现了上面的错误信息,错误提示信息如下。
这里写图片描述

  Python(python3.4.3)的文档中明确说明os.uname()只适用于Unix,并不适用于Windows,想安装uwsgi还是使用Linux吧。这下心塞了~

nginx安装

  首先,到nginx官网(http://nginx.org)上下载相应的安装包,下载完成后进行解压。自己下载的版本为1.12.0。
然后,进入window的cmd窗口,输入如下图所示的命令,进入到nginx目录,使用“start nginx.exe ”进行nginx的启动。若启动成功的话,会在任务管理器中看到“nginx.exe”进程,如下图所示:
这里写图片描述
  在浏览器地址栏输入:127.0.0.1(或localhost):8088,会看到如下图所示的nginx欢迎界面。
这里写图片描述
  注意,此时,我在浏览器中输入的是localhost:8066,因为我修改了其config目录下nginx.conf配置文件内容,修改后的内容如下:
这里写图片描述
  相信大家看到配置文件之后,就会明白其具体配置含义了。这里不再进行详细介绍。
  其他相应的命令:

nginx.exe -s stop                   //停止nginx
nginx.exe -s reload                //重新加载nginx
nginx.exe -s quit                  //退出nginx

  注:以上的命令中,.exe可以去掉。
  至此,nginx安装完成。
  继续折腾,发现nginx+fastcgi是可行的,遂决定实践。

初识fastcgi

  CGI全称是“公共网关接口”(Common Gateway Interface)。它可以用任意语言编写,只要这种语言具有标准输入、输出和环境变量。如php,perl,tcl等,但它为人诟病的会在每次运行事前都要花费时间去fork-and-execute一次,所以便诞生了FastCGI组件,该组件由微软开发。FastCGI像是一个常驻(long-live)型的CGI,它可以一直执行着,只要运行后不会每次都要花费时间去fork-and-execute,还支持分布式的运算, 即 FastCGI 程序可以在网站服务器以外的主机上执行并且接受来自其它网站服务器来的请求。下载地址:http://www.iis.net/download/fastcgi很明显,使用fastcgi的话,就得使用iis的服务部署方式。似乎越来越有意思了。对于IIS的服务发布方式自己是不感兴趣的,遂决定使用Apache方式部署。
  首先下载apache,下载地址:https://www.apachelounge.com/download。下载完成后,进行解压,然后打开相应解压目录下的config配置目录中的httpd.conf配置文件,这是apache服务器的配置文件。主要是将其中的文件目录修改为解压后存放的目录。
  修改完成后,在Dos窗口切换至bin目录下,然后执行start httpd.exe命令,这时会打开apache的命令行窗口。
这里写图片描述
  然后在浏览器访问 localhost就可以看到 It works!,证明apache正常工作。
这里写图片描述
  Apche服务器配置好之后,就需要部署项目了。但是后面的过程过于复杂。
  经过以上折腾之后,感觉还是在Linux上部署Django比较靠谱,遇到的坑也会比较少。

参考博文

http://blog.csdn.net/largetalk/article/details/8449782


这里写图片描述

查看评论

Django 开发进阶

-
  • 1970年01月01日 08:00

windows下安装设置Nginx+python+flup+django,并设为服务运行!

下载安装 主站http://nginx.org/下载http://nginx.org/en/download.html下载稳定版http://nginx.org/download/nginx-0.7...
  • yavobo
  • yavobo
  • 2011-02-28 14:16:00
  • 6352

解决nginx+uwsgi部署Django的所有问题

最近,自己暑假写的小项目也算完毕了,想着投放到自己云服务器上,本来以为只要打开端口运行python3 manager runserver 0.0.0.0:80就搞定了,最后才知道这只适用于Django...
  • baidu_35085676
  • baidu_35085676
  • 2017-08-14 15:44:06
  • 5868

新版本Django在Windows和Linux下的部署

原帖地址:https://zhuanlan.zhihu.com/p/27690113伴随着人工智能和深度学习的火热发展,Python也成为了一门非常热门的语言。我们可以看到热门的深度学习框架都提供Py...
  • peter987662
  • peter987662
  • 2017-07-04 15:37:48
  • 3053

使用uwsgi+nginx部署django项目

环境搭建关于nginx、python、django、pip、setuptools、uwsgi安装,查看文章 http://blog.csdn.net/win_turn/article/details...
  • win_turn
  • win_turn
  • 2016-11-01 11:11:39
  • 1650

Windows下nginx+django+flup搭建与配置

首先,应该清楚这三个部分的各自作用:nginx是web服务器,负责接收用户的web请求,并返回用户请求的内容。如果是静态的网页,nginx可以直接将网页传给用户;如果是动态网页,则需要通过CGI(公共...
  • u012487272
  • u012487272
  • 2014-04-01 21:10:15
  • 1204

Windows下nginx配置python服务器

Windows下nginx配置python服务器Windows下nginx配置python服务器 安装python 安装flup包 创建Python server 配置nginxconf 启动ngin...
  • revolver
  • revolver
  • 2016-01-05 22:18:51
  • 2046

windows下Nginx+tornado部署Django

1.下载Nginx,配置nginx.conf worker_processes 1; events { worker_connections 1024; } http { upst...
  • shaobotao
  • shaobotao
  • 2016-02-23 20:53:32
  • 2393

windows7下Django项目生产环境搭建及踩过的坑

windows7下Django项目生产环境搭建及踩过的坑Apache是有名的web server,所以我们采用windows64环境下的Apache web server来搭建Django项目的部署环...
  • dave_haijie
  • dave_haijie
  • 2017-09-22 11:14:07
  • 1362

Win7 Apache部署Django(一)

Windows64位下用Apache部署Django
  • m0_37991778
  • m0_37991778
  • 2017-03-24 23:10:24
  • 1745
    个人资料
    专栏达人 持之以恒
    等级:
    访问量: 2378万+
    积分: 5万+
    排名: 54
    轻松一下
    博客专栏
    最新评论