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收 ...
随机推荐
- Java this与super的仇与恨
刚开始学习面向对象的时候,看到this和super觉得this就是指当前对象,super指最近的父级对象.觉得用处不大. 后来,随着学习的深入,看别人的代码越来越多,发现this和super的使用率贼 ...
- jQuery实现单击某个标签改变样式
1.HTML代码,如下图: <p class="sc_member_recharge_form"> <span class="selected" ...
- java基础-不用ide如何打包
java基础-不用ide如何打包 1. 建立目录 src存放源文件 classes存放编译文件 2. 建立类文件 主类 package test.ant; import test.ant.MyTool ...
- opentack-openstack组件及功能(1)
一. OpenStack各组件间的关系 图22.1 OpenStack各组件间的关系 1.基础管理服务包含Keystone,Glance,Nova,Neutron,Horizon五个服务 (1)Key ...
- sql 书写 规范 优化
规范 做注解 便于修改和优化 规范 <?xml version="1.0" encoding="UTF-8"?><!DOCTYPE map ...
- tensorflow分布式训练
https://blog.csdn.net/hjimce/article/details/61197190 tensorflow分布式训练 https://cloud.tencent.com/dev ...
- OpenFlow 交换机与控制器交互步骤
1. Hello 控制器与交互及互相发送 Hello 消息.Hello消息中只包含有OpenFlow Header,其中的 type 字段为 OFPT_HELLO,version 字段为发送方所支持的 ...
- Kibana登录认证设置
Kibana从5.5开始不提供认证功能,想用官方的认证,X-Pack,收费滴 . 所以就自己动手吧,用nginx的代理功能了. 1.安装Nginx: [root@ELK /]# yum -y inst ...
- opencv-python下简单KNN分类识别
KNN是数据挖掘中一种简单算法常用来分类,此次用来聚类实现对4种花的简单识别. 环境:python2.7+opencv3.0+windows10 原理:在使用KNN函数提取出4种花特征点以后,对需要辨 ...
- PHP 加解密方法大全
最近看见一篇文章讲的是PHP的加解密方法,正好也自己学习下,顺便以后有用到的地方也好能快速用上,仅供自己学习和复习,好了不多BB,上代码. 基于这几个函数可逆转的加密为:base64_encode() ...