文章目录

  • 一、前言
  • 二、nginx安装
  • 三、初识fastcgi

一、前言

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’


遂决定使用下载安装包的方式进行安装。下载地址
选择下载的uwsgi版本为2.0.15。

下载完成后,进行解压。在Dos窗口切换至解压目录,然后执行python setup.py install命令。但是仍然出现了上面的错误信息,错误提示信息如下。

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

二、nginx安装

首先,到nginx官网上下载相应的安装包,下载完成后进行解压。自己下载的版本为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 程序可以在网站服务器以外的主机上执行并且接受来自其它网站服务器来的请求。下载地址 。很明显,使用fastcgi的话,就得使用iis的服务部署方式。似乎越来越有意思了。对于IIS的服务发布方式自己是不感兴趣的,遂决定使用Apache方式部署。

首先下载apache,下载地址。下载完成后,进行解压,然后打开相应解压目录下的config配置目录中的httpd.conf配置文件,这是apache服务器的配置文件。主要是将其中的文件目录修改为解压后存放的目录。

修改完成后,在Dos窗口切换至bin目录下,然后执行start httpd.exe命令,这时会打开apache的命令行窗口。

然后在浏览器访问 localhost就可以看到 It works!,证明apache正常工作。


Apche服务器配置好之后,就需要部署项目了。但是后面的过程过于复杂。

经过以上折腾之后,感觉还是在Linux上部署Django比较靠谱,遇到的坑也会比较少。

Python进阶(三十七)Windows7使用nginx+apache部署django项目相关推荐

  1. centos7根据端口查进程_记录一次CentOs7下Nginx+WSGI部署Django项目(超详细)

    记录一次Django部署的文章,不是很熟悉Linux系统,踩了不少坑,本篇文章相当于是一个总结,我会在本文中详细介绍,部署单个Django项目和多个Django的方法,如读者有更好的方法,欢迎留言一起 ...

  2. 超详细Windows环境下使用Apache部署Django项目教程

    目录 超详细Windows环境下使用Apache部署Django项目教程 1.什么是Apache 2.安装并配置Apache 2.1 下载Apache 2.2 解压Apache到文件夹 2.3 配置c ...

  3. 使用Nginx+uWSGI部署Django项目

    1.linux安装python3环境 参考链接:https://www.cnblogs.com/zzqit/p/10087680.html 2.安装uwsgi pip3 install uwsgiln ...

  4. Ubuntu nginx+uwsgi部署Django项目

    前提条件:首先项目使用一下命令启动成功后,输入公网ip后可以启动成功 python manage.py runserver 0.0.0.0:80 一.阿里云配置安全组 添加8000端口 二.安装配置u ...

  5. IIS或Apache部署Django项目时,Admin后台管理CSS样式丢失?

    运行环境: Windows 10 专业版 64位 Python27 Django1.11 Mysql5.7 IIS 10 或 Apache24 丢失CSS样式后的界面: 正确加载CSS样式的界面: 通 ...

  6. CENTOS7 使用 Nginx + Uwsgi 部署 Django 项目

    写在前面的话 最近总是见到有新学 Django 的朋友在部署自己的项目到 Linux 上面的时候运行不起来,所以就动手写了这篇博客. 对于不会搭建 Python 3 环境的朋友可以参考前面的博客[CE ...

  7. 基于nginx和uWSGI在Ubuntu系统上部署Django项目

    1. nginx 1.1 安装 sudo apt-get install nginx 1.2启动.停止和重启 sudo /etc/init.d/nginx start sudo /etc/init.d ...

  8. python 保存文件 吃内存_孤荷凌寒自学python第三十七天python的文件与内存变量之间的序列化与反序列化...

    孤荷凌寒自学python第三十七天python的文件与内存变量之间的序列化与反序列化 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 一.什么是序列化与反序列化 序列化是指将内存中的数据进行指 ...

  9. python项目管理器 宝塔面板 django 404_宝塔面板成功部署Django项目流程(图文)

    上线 Django 项目记录,超简单,避免无意义的踩坑! 第一步:安装python管理器 在宝塔在线面板安装" python项目管理器 " 第二步:安装适配python版本 因为服 ...

最新文章

  1. TCP/IP 10.1集成IS-IS协议
  2. CodeForces - 1373E Sum of Digits(贪心)
  3. mysql root密码忘记2018_2018-03-28设置及修改mysql用户密码学习笔记
  4. C#基础:Lambda表达式
  5. web加载本地html,WKWebview加载本地html问题汇总
  6. appium+python自动化-adb shell模拟点击事件(input tap)
  7. kubernetes之四:存储
  8. 中华黑豹计算机病毒,关于中华黑豹病毒...-爱毒霸交流论坛
  9. c++早绑定和晚绑定
  10. 希望各位大神能帮我指导一下!!!感激不尽!!!
  11. 布控球可接入电网安全接入平台及电网统一视频
  12. mysql archer,archer安装及使用
  13. wpf初学者-wpf控件简单介绍
  14. zzuli OJ 1088: 手机短号 (多实例)
  15. 《信息技术》期刊简介
  16. 高斯滤波器(Gaussian Filter) python实现及部分原理说明(opencv)
  17. onunload,onbeforeunload,load事件
  18. 2012年度注册测绘师资格考试江西-考区合格人员名单
  19. 植物大战僵尸android11,植物大战僵尸自创版APK
  20. 想入门CATIA二次开发CAA的盆友看过来(谈谈开发经验,或许对你有帮助!)

热门文章

  1. 镁光ddr3布线规则_DDR3布线设计要点总结
  2. 中央任命!中科院院士北大副校长,出任985大学校长(副部长级)
  3. Generic Webhook Trigger 远程触发
  4. 这8首用代码写的诗歌,看懂3首就是大神!
  5. 河马php一句话木马,揭秘一句话木马的套路
  6. 暑期实习面试——中天联科,算法实习
  7. 没有计算机网络适配器,没有网络适配器,详细教您电脑没有网络适配器怎么办...
  8. Windows Core Audio 音频开发技术指南
  9. C#:一个拖拽网页图片到本地存储的小工具
  10. SCNU网工通信原理期末复习