Django部署方法
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部署方法的更多相关文章
- django 部署到 apache
安装完django之后,每次都需要通过命令来启动启动开发服务器.虽然调试和测试方便,但只能在本地运行,并且不能承受许多用户同时使用的负载.所以需要将Django部署到生产级的服务器,这里选择apach ...
- Django部署到Apache Web Server
Windows环境下,将Django部署到Apache Web Server 在Windows上部署Django(用mod_wsgi)会出现各种奇怪的问题,现简单记录下配置过程及遇到的错误及解决方法. ...
- Nginx+uWSGI+Django部署web服务器
目录 Nginx+uWSGI+Django部署web服务器 环境说明 前言 搭建项目 Django部署 编辑luffy/luffy/settings.py 编辑luffy/app01/views.py ...
- hadoop入门(3)——hadoop2.0理论基础:安装部署方法
一.hadoop2.0安装部署流程 1.自动安装部署:Ambari.Minos(小米).Cloudera Manager(收费) 2.使用RPM包安装部署:Apache ...
- django部署
部署教程 阿里云django部署教程 注意备份Apache2的siteconf文件 细节 环境迁移 如果是修改了注意些requirement文件
- Django 部署 uwsgi + nginx + supervisor
Django 部署 uwsgi + nginx + supervisor https://hacpai.com/article/1460607620615?p=1&m=0 zonghua • ...
- IIS:开启GZIP压缩效率对比及部署方法
HTTP压缩 HTTP压缩是在Web服务器和浏览器间传输压缩文本内容的方法.HTTP压缩采用通用的压缩算法如GZIP等压缩HTML.JavaScript或CSS文件.压缩的最大好处就是降低了网络传输的 ...
- Hadoop 学习笔记 (九) hadoop2.2.0 生产环境部署 HDFS HA部署方法
step1:将安装包hadoop-2.2.0.tar.gz存放到某一个目录下,并解压 step2:修改解压后的目录中的文件夹/etc/hadoop下的xml配置文件(如果文件不存在,则自己创建) 包括 ...
- elasticsearch+kibana+metricbeat安装部署方法
elasticsearch+kibana+metricbeat安装部署方法 本文是elasticsearch + kibana + metricbeat,没有涉及到logstash部分.通过beat收 ...
随机推荐
- 深入理解 path-to-regexp.js 及源码分析
阅读目录 一:path-to-regexp.js 源码分析如下: 二:pathToRegexp 的方法使用 回到顶部 一:path-to-regexp.js 源码分析如下: 我们在vue-router ...
- Linux+Shell常用命令总结
因为自己不经常使用linux的命令行工具,但是mac的终端还是经常使用的,有些命令总是要想一会或者百度一下才知道怎么用,抽时间整理了一下常用的命令,作为笔记. 常用命令 查看文件操作: ls :列出当 ...
- Windows 支持 OpenSSH 了!
从 Win10 1809 和 Windows Server 2019 开始 Windows 开始支持 OpenSSH Server.本文介绍一下其基本的概念和配置方法,本文演示用的环境为 Win10 ...
- pyspider常见错误
安装完爬虫框架pyspider之后,使用pyspider all 命令,可能会出现以下错误: - Deprecated option 'domaincontroller': use 'http_aut ...
- RPC----Hadoop核心协议
什么是RPC RPC设计的目的 RPC的作用 远程过程调用(RPC)是一个协议,程序可以使用这个协议请求网络中另一台计算机上某程序的服务而不需要知道网络细节. 必备知识: 网络七层模型 网络四层模型 ...
- js中的枚举
在JavaScript中,对象的属性分为可枚举和不可枚举之分,它们是由属性的enumerable值决定的.可枚举性决定了这个属性能否被for…in查找遍历到. js中基本包装类型的原型属性是不可枚举的 ...
- vue.js实战——方法设置默认参数
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- flask 实现登录 登出 检查登录状态 的两种方法的总结
这里我是根据两个项目的实际情况做的总结,方法一(来自项目一)的登录用的是用户名(字符串)和密码,前后端不分离,用form表单传递数据:方法二用的是手机号和密码登录,前后端分离,以json格式传递数据, ...
- union的特性,去重与不去重
转载:https://blog.csdn.net/kingmax54212008/article/details/33762921 union的特性,去重与不去重 集合操作有 并,交,差 3种运算. ...
- Java垃圾收集器概述
垃圾收集器的操作 查找未使用的对象,释放内存,并压缩堆,避免内存碎片 一个java程序,有执行应用程序逻辑的线程和执行GC的线程组.当GC跟踪对象引用,或在内存中移动对象,它必须确保应用程序线程没有使 ...