关闭

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

标签: apachepythonnginxdjango
39564人阅读 评论(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


这里写图片描述

3
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

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
  • 6036

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

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

使用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
  • 1440

uwsgi os没有uname()方法的解决办法

在windows下,安装uwsgi。 从网上下载好uwsgi后,cmd到该解压后的目录中,python setup.py install的时候,报错,说是os没有uname()这个方法。 定位到u...
  • q1177660557
  • q1177660557
  • 2015-09-29 17:11
  • 3094

window安装uwsgi 遇到AttributeError: 'module' object has no attribute 'uname' 完美解决

window安装uwsgi AttributeError: 'module' object has no attribute 'uname' 完美问题处理方案
  • PlusChang
  • PlusChang
  • 2017-10-22 19:06
  • 854

uWSGI的安装与配置(官网摘录)

■ 安装uwsgi: 作为一个严谨(其实就是有强迫症)的程序,为了确保正确安装这个东西,费了我好长时间。首先,查找包里的readme,发现没有安装提示。各种被墙,辗转良久,才查看到uwsgi的官方文档...
  • chenggong2dm
  • chenggong2dm
  • 2015-02-25 18:18
  • 41584

快速部署Python应用:Nginx+uWSGI配置详解

相比于PHP,Python应用的部署很麻烦,比较常用的方法有fcgi与wsgi,然而这两种都很让人头痛。文章介绍了Nginx+uwsgi的简便方法,来快速的部署Python应用。 在PHP里...
  • fwenzhou
  • fwenzhou
  • 2013-04-08 16:08
  • 14069

Python+Tornado+Nginx服务器部署解决方案

目标:反向代码+Tornado框架实现高性能web服务器原则:生产环境部署,提升服务端性能。 适用岗位:开发人员、运维人员 实施步骤: 1、 选定Python版本2.7.8 32位; (1...
  • sc4599
  • sc4599
  • 2015-11-27 14:14
  • 5781

centos7+python flask+nginx一套完整的部署流程

--------------------------------------------------------升级python2.7.11------------------------------...
  • nanyanglu
  • nanyanglu
  • 2016-10-12 15:10
  • 4961

Python3.4+Nginx+Django1.8+Mysql5.5项目开发与部署

折腾好几天才将项目部署成功,现在用篇文章给记录下来。我的项目是采用的Python3.4+Nginx+uswgi+Mysql5.5+django1.8+Ubuntu12环境。项目源码是放在我的Githu...
  • xiaokugua_250
  • xiaokugua_250
  • 2015-05-17 12:44
  • 2440
    个人资料
    • 访问:23619390次
    • 积分:57955
    • 等级:
    • 排名:第56名
    • 原创:472篇
    • 转载:39篇
    • 译文:2篇
    • 评论:405条
    流量统计
    你问我答
     有问题?联系我。

    博客专栏
    汪国真--《热爱生命》
          热 爱 生 命
           汪国真

        我不去想是否能够成功

        既然选择了远方

        便只顾风雨兼程

        我不去想能否赢得爱情

        既然钟情于玫瑰

        就勇敢地吐露真诚

        我不去想身后会不会袭来寒风冷雨

        既然目标是地平线

        留给世界的只能是背影

        我不去想未来是平坦还是泥泞

        只要热爱生命

        一切都在意料之中
    轻松一下