Windows方案: Apache2.4 + Django2.0

网上的方法乱七八糟:

那么接下来:最好的方法,不行吃屎。

当前环境是Django2.0+ python35(64bit)

部署原因:

1,django给你的是个测试服务器,最简单的,性能最低的。
2,比如你的/media/ 下的文件,例如视频。要做到像播放时候快进,如果不用服务器(apache)是不能直接快进.
比如播放某一个视频报错:
TypeError: 'NoneType' object is not subscriptable
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Python35\lib\socketserver.py", line 625, in process_request_thread
self.finish_request(request, client_address) ....
.... 3,static文件获取性能极其低下

Django的设置:

1,先把settings.py

DEBUG=False

2,

ALLOWED_HOSTS = ['*']

3,指定STATIC_ROOT    MEDIA_ROOT

STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
STATICFILES_DIRS = [
os.path.join(BASE_DIR, "YiVideo"),
] #media files
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR,'media/')

4,打包static文件到STATIC_ROOT下(非常重要)

原因你的admin资源,还有用的img,html,js文件都统统完整打包,随后让apache服务这些文件.

>> python manage.py collectstatic

5,最头疼的地方apache来了。

<1>

https://www.apachelounge.com/download/vc14/

解压放到C:/Apache24 放到C盘,这个是最简单的方法,因为里面很多默认设置都是C:/Apache24默认目录,简单期间最好就放这个位置。

注意下载vc14版本的

<2>下载服务python的扩展包

https://www.lfd.uci.edu/~gohlke/pythonlibs/#mod_wsgi

因为我是py35下载  mod_wsgi‑4.5.24+ap24vc14‑cp35‑cp35m‑win_amd64.whl (很重要)

<3> 最关键的一步

1,把 mod_wsgi‑4.5.24+ap24vc14‑cp35‑cp35m‑win_amd64.whl 放入C:/Python35/Scripts 文件夹

2,然后pip install mod_wsgi‑4.5.24+ap24vc14‑cp35‑cp35m‑win_amd64.whl

3,然后改名mod_wsgi‑4.5.24+ap24vc14‑cp35‑cp35m‑win_amd64.zip

4,然后就在当前目录解压

5,在此路径下C:\Python35\Scripts\mod_wsgi-4.5.24+ap24vc14-cp35-cp35m-win_amd64\mod_wsgi\server

6,然后把mod_wsgi.cp35-win_amd64.pyd改名mod_wsgi.so

7,mod_wsgi.so复制到 C:\Apache24\modules

<4>关键性设置C:\Apache24\conf\httpd.conf

找到Listen这句 修改成你的本机固定ip ,把80端口注释了

Listen 192.168.10.198:8081

#Listen 80

找到这些加载模块这些语句注释区域,写入LoadModule wsgi_module modules/mod_wsgi.so

C:\Apache24\conf\httpd.conf文件的最底下加入这些语句:

看到static已经是使用的python manage.py collectstatic 命令打包后的位置.

<IfModule wsgi_module>
Alias /static/ D:/plugin_dev/Python/DjangoDay/ContentManager/static/
<Directory "D:/plugin_dev/Python/DjangoDay/ContentManager/static">
Require all granted
</Directory> Alias /media/ "D:/plugin_dev/Python/DjangoDay/ContentManager/media/" <Directory "D:/plugin_dev/Python/DjangoDay/ContentManager/media/">
Allow from all #must give , or display 失败-已被禁止
Require all granted
</Directory> WSGIScriptAlias / D:/plugin_dev/Python/DjangoDay/ContentManager/ContentManager/wsgi.py
WSGIPythonPath D:/plugin_dev/Python/DjangoDay/ContentManager/
<Directory D:/plugin_dev/Python/DjangoDay/ContentManager/>
<Files wsgi.py>
Order deny,allow
Allow from all
Require all granted
</Files>
</Directory>
</IfModule>

<5>cmd启动C:\Apache24\bin\httpd.exe

<6>浏览器访问:192.168.10.198:8081 ,我曹,一切完美。

media的文件随便尼玛快进快放

Django部署方法的更多相关文章

  1. django 部署到 apache

    安装完django之后,每次都需要通过命令来启动启动开发服务器.虽然调试和测试方便,但只能在本地运行,并且不能承受许多用户同时使用的负载.所以需要将Django部署到生产级的服务器,这里选择apach ...

  2. Django部署到Apache Web Server

    Windows环境下,将Django部署到Apache Web Server 在Windows上部署Django(用mod_wsgi)会出现各种奇怪的问题,现简单记录下配置过程及遇到的错误及解决方法. ...

  3. Nginx+uWSGI+Django部署web服务器

    目录 Nginx+uWSGI+Django部署web服务器 环境说明 前言 搭建项目 Django部署 编辑luffy/luffy/settings.py 编辑luffy/app01/views.py ...

  4. hadoop入门(3)——hadoop2.0理论基础:安装部署方法

    一.hadoop2.0安装部署流程         1.自动安装部署:Ambari.Minos(小米).Cloudera Manager(收费)         2.使用RPM包安装部署:Apache ...

  5. django部署

    部署教程 阿里云django部署教程 注意备份Apache2的siteconf文件 细节 环境迁移 如果是修改了注意些requirement文件

  6. Django 部署 uwsgi + nginx + supervisor

    Django 部署 uwsgi + nginx + supervisor https://hacpai.com/article/1460607620615?p=1&m=0 zonghua • ...

  7. IIS:开启GZIP压缩效率对比及部署方法

    HTTP压缩 HTTP压缩是在Web服务器和浏览器间传输压缩文本内容的方法.HTTP压缩采用通用的压缩算法如GZIP等压缩HTML.JavaScript或CSS文件.压缩的最大好处就是降低了网络传输的 ...

  8. Hadoop 学习笔记 (九) hadoop2.2.0 生产环境部署 HDFS HA部署方法

    step1:将安装包hadoop-2.2.0.tar.gz存放到某一个目录下,并解压 step2:修改解压后的目录中的文件夹/etc/hadoop下的xml配置文件(如果文件不存在,则自己创建) 包括 ...

  9. elasticsearch+kibana+metricbeat安装部署方法

    elasticsearch+kibana+metricbeat安装部署方法 本文是elasticsearch + kibana + metricbeat,没有涉及到logstash部分.通过beat收 ...

随机推荐

  1. Nvidia和Google的AI芯片战火蔓延至边缘端

    AI 的热潮还在持续,AI 的战火自然也在升级.英伟达作为这一波 AI 浪潮中最受关注的公司之一,在很大程度上影响着 AI 的战局.上周在美国举行的 GTC 2019 上,黄仁勋大篇幅介绍了英伟达在 ...

  2. 实验六:通过grub程序引导本地磁盘内核启动系统(busybox)

    实验名称: 通过grub程序引导本地磁盘内核启动系统(busybox) 实验环境: 理论上,该实验只需要配置好xen环境即可,但是,我们的xen环境安装在centOS7上,但是我们又是使用的kerne ...

  3. js 运行机制

    <script> console.log(1) setTimeout(function(){ console.log(3) },0) console.log(2) </script& ...

  4. iOS 钥匙串存储用户数据

    参考: http://www.jianshu.com/p/f6d40065bb6c #import <Foundation/Foundation.h> #import <Securi ...

  5. Linux C/C++ 链接选项之静态库--whole-archive,--no-whole-archive和--start-group, --end-group

    参照这两篇博客: http://stackoverflow.com/questions/805555/ld-linker-question-the-whole-archive-option http: ...

  6. ASUS RT-AC68U 刷梅林固件及安装***插件记录(详细)

    本文借鉴网络并亲自刷机过程记录(网上很多教程都不太详细) 版本:华硕ASUS RT- AC68U    Wireless-AC1900 路由器的连接方式略,有说明书 连好后打开浏览器输入:http:/ ...

  7. jsp篇 之 Jsp中的内置对象和范围对象

    Jsp中的内置对象: 在jsp页面代码中不需要声明,直接可以使用的对象. 一共有[9个内置对象]可以直接使用. 对象类型           名字 PageContext          pageC ...

  8. VueRouter和Vue生命周期(钩子函数)

    一.vue-router路由 1.介绍 vue-router是Vue的路由系统,用于定位资源的,在页面不刷新的情况下切换页面内容.类似于a标签,实际上在页面上展示出来的也是a标签,是锚点.router ...

  9. ORM关于表那些事

    一.. ORM表和表之间的关系 1. 一对多 --> 外键(ForeignKey) 2. 多对多 --> 另外一张关系表(ManyToManyField) 1. 三种方式 1. 自己建立第 ...

  10. P2837 晚餐队列安排

    此题可能用动规不太好做,主要是状态转移方程很难想个人认为,思维发散的大佬们忽视. 我看了这位大佬的dp题解后才想到了方程,在此受我一膜%%% 嗯,说下思路: 先用a[i]数组存一下输入的编号: 然后用 ...