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的文件随便尼玛快进快放

原文地址:https://www.cnblogs.com/gearslogy/p/8440916.html

时间: 2024-08-02 18:15:35

Django部署方法的相关文章

Django部署

前段时间,由于实验室项目的需要,要搭建一个web服务器,可怜我只会写python,所以就去研究了一下Django.学习Django是一个愉快的过程,本来就该如此嘛,Python提倡INTERESTING TO CODE,所以很快,我就完成了Django的本地部署,然而在把Django搭到服务器上的是,却是让我捣鼓了一个星期,真真是把我坑苦了. 1.我的环境 在把Django搭建到Apache上时候,首先你需要明确你使用的Django和Apache的版本,嗯,还有Python的版本(这很重要)!

Nginx+uWSGI+Django部署web服务器

目录 Nginx+uWSGI+Django部署web服务器 环境说明 前言 搭建项目 Django部署 编辑luffy/luffy/settings.py 编辑luffy/app01/views.py 编辑luffy/luffy/urls.py 运行并测试 uWSGI部署 测试运行uWSGI 使用uWSGI运行django项目 uWSGi热加载Djangoa项目 部署nginx nginx配置uwsgi和django django部署static文件 重新加载nginx进行测试 测试nginx

Django部署——uwsgi+Nginx

Django部署——uwsgi+Nginx(超详细) 环境:python3.6centos 7Django1.11用Django写了个小网站,只能在自己本地跑一跑!这怎么行?听说可以部署在云服务器上,这样别人就可以访问了! biu~ 从哪儿开始?就从Django开始吧!老规矩,按步骤: 1.本地跑起来Django 这里不讲Django项目实施过程,假设你已经写了一个Django项目,并且在本地127.0.0.1:8000能够跑起来.喏,给你个参考,项目大概长这样: Django Project

学习猿地 python教程 django教程8 Django部署(Apache)

# Django部署\(Apache\) > 在前面的章节中我们使用**python3 manage.py runserver**来运行服务器.这只适用测试环境中使用. > > 正式发布的服务,我们需要一个可以稳定而持续的服务器,比如Apache, Nginx, IIS等,本文将以 Apache为例. > > 使用[Apache](https://httpd.apache.org/)和[mod\_wsgi](http://www.modwsgi.org/)部署Django 是

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

一.hadoop2.0安装部署流程         1.自动安装部署:Ambari.Minos(小米).Cloudera Manager(收费)         2.使用RPM包安装部署:Apache hadoop不支持.HDP与CDH提供         3.使用jar包安装部署:各版本均提供.(初期为了理解hadoop,建议使用这种方式)         部署流程:                 准备硬件(Linux操作系统)                 准备软件安装包,并安装基础软件

.net中使用ODP.net访问Oracle数据库(无客户端部署方法)

.net中使用ODP.net访问Oracle数据库(无客户端部署方法) 分类: c# database2012-01-05 15:34 6330人阅读 评论(1) 收藏 举报 oracle数据库.netcomponentsdll ODP.net是Oracle提供的数据库访问类库,其功能和效率上都有所保证,它还有一个非常方便特性:在客户端上,可以不用安装Oracle客户端,直接拷贝即可使用. 以下内容转载自:http://blog.ywxyn.com/index.php/archives/326

Redis 第二种安装部署方法

Redis 第二种安装部署方法

Django部署:Django+gunicorn+Nginx环境的搭建

本人的服务器环境为Ubuntu14.04,使用的是Python3.4版本,并且安装有pip(Ubuntu中Python3配合的是pip3),并且以管理员身份运行,如果是普通用户,请切换管理员权限(sudo). 一.gunicorn和nginx的简介 gunicorn需要搭配nginx使用,那么两者的作用到底是什么. 1.gunicorn简介:gunicorn是一个Python WSGI UNIX服务器.WSGI(Web Server Gateway Interface)是Web服务网关接口,位于

Eclipse web工程创建步骤及两种部署方法

1.Eclipse创建web工程步骤 (1)参考1(2)参考2 2.web工程两种部署方法 (1)部署方法同1中所述 (2)部署到Tomcat Server的webapps目录下的方法