My First Django Project (3) - Apache set up
Holy moly!!!!因为漏了一下斜杠,害我反复调试了2,3天,无法读取static 文件,一直找不出原因,后来在apache的error.log中发现了原因。
1. 下载了apache 2.4, 并安装mod_wsgi: 下载地址:http://www.lfd.uci.edu/~gohlke/pythonlibs/#mod_wsgi
基本上第三方的包都可以在这个地址上找到。

whl文件: 可以使用install pip *.whl 来解压安装,解压后你所在的文件夹,会有个mod_wsgi.so的文件,将其烤入:{install directory}\Apache24\modules
Apache 的安装和配置比较简单就不细说了,唯一值得注意的是安装完后配置 {install directory}\Apache24\conf\httpd.conf 文件.
就是 Define SRVROOT "{}" 记得改成你Apache24所在的目录。还有注意端口的占用和修改,比如80端口,可能迅雷和IIS都会占用,修改端口号,
#Listen 12.34.56.78:
Listen 127.0.0.1: 此处为修改成8086端口
2.接下来就是配置Django和Apache
还是{install directory}\Apache24\conf\httpd.conf 这个文件,需要设置路劲之类的
#添加mod_wsgi.so 模块
LoadModule wsgi_module modules/mod_wsgi.so #指定myweb项目的wsgi.py配置文件路径
WSGIScriptAlias / F:/Django_Project/qblog/qblog/wsgi.py #指定项目路径
WSGIPythonPath F:/Django_Project/qblog <Directory F:/Django_Project/qblog/qblog>
<Files wsgi.py>
Require all granted
</Files>
</Directory> Alias /static/ F:/Django_Project/qblog/static/ #红色部分尤其注意啊,之前就是这里被坑爹了,网上给的教程多数没有最后的 / 导致我静态文件读取不出来
<Directory F:/Django_Project/qblog/static/> #千万要记得加/,最后是看Apache的errorlog才发现的,果然看Log很有用!
AllowOverride None
Options None
Require all granted
</Directory>
setting.py中记得将 DEBUG和 TEMPLATE_DEBUG设成True,否则会有404报错.
DEBUG = True TEMPLATE_DEBUG = True ALLOWED_HOSTS = []
3. Admin的静态文件显示不正确的情况
先设置static_ROOT在setting.py中
STATIC_ROOT = os.path.join(BASE_DIR, "static")
之后运行collectstatic将所有static文件收集到static_root下面(包括admin和你app的静态文件)
F:\mydjango>python manage.py collectstatic
再将你的static路劲指向这里!大功告成!
My First Django Project (3) - Apache set up的更多相关文章
- Apache:To Config The Vhost of Django Project
It is not a good idea to use dev server in Production Environment. Apache or Nginx are good choice.B ...
- Start Your Django Project in Nginx with uWsgi
Step 0:Install A,B,C,blabla needed This can be seen in my another article in the blog.click here(una ...
- 如何将Django部署到Apache服务器上
操作环境: Ubuntu 16.04 Apache 2.4 Django 1.9 Python 2.7 mod_wsgi 前言:本教程纯自己查阅资料后整理,望对大家有帮助! 1. 安装 mod_ws ...
- [Python] Create a Django project in Pycharm
From: http://blog.csdn.net/u013088062/article/details/50158239 From: http://blog.csdn.net/u013088062 ...
- Django部署到Apache Web Server
Windows环境下,将Django部署到Apache Web Server 在Windows上部署Django(用mod_wsgi)会出现各种奇怪的问题,现简单记录下配置过程及遇到的错误及解决方法. ...
- Python(Django)项目与Apache的管理
(开开心心每一天~ ---虫瘾师) Python(Django)项目交给Apache的管理(一) 准备:Django的环境(Python).Apache.Wsgi(必须文件) 首先需要电脑有Pytho ...
- Python(Django)项目与Apache的管理交互
(开开心心每一天~ ---虫瘾师) Python(Django)项目交给Apache的管理(一) 准备:Django的环境(Python).Apache.Wsgi(必须文件) 首先需要电脑有Pytho ...
- Django project troubleshootings
1. 当django project文件夹放到cgi-bin目录下面时会出现下面的错误: [Wed Jan 09 01:52:52.611690 2019] [core:notice] [pid 15 ...
- django project 的快速构建
2003年,堪萨斯(Kansas)州 Lawrence 城中的一个 网络开发小组 ——World Online 小组,为了方便制作维护当地的几个新闻站点(一般要求几天或者几小时内被建立),Adrian ...
随机推荐
- java基础回顾(六)——WeakReference、SoftReference
在Java里, 当一个对象o被创建时, 它被放在Heap里. 当GC运行的时候, 如果发现没有任何引用指向o, o就会被回收以腾出内存空间. 或者换句话说, 一个对象被回收, 必须满足两个条件: 1) ...
- sql语句小练习二
1.创建一个数据库StudentManage, 初始化大小10M,不足以1M每次增长 create database StudentManage on ( name = 'StudentManag ...
- jQuery 遍历 - map() 方法
定义和用法 map() 把每个元素通过函数传递到当前匹配集合中,生成包含返回值的新的 jQuery 对象. 例子1: 构建表单中所有值的列表: <p><b>value为: &l ...
- iOS键盘类型
一.键盘风格 UIKit框架支持8种风格键盘. typedef enum { UIKeyboardTypeDefault, // 默认键盘:支持所有字符 UIKeyboa ...
- 使用JDBC向数据库中插入一条数据(第一次修改版)
增加了一个Tools类,放了一些常用的工具 package com.JDBC.java; import java.io.IOException; import java.io.InputStream; ...
- jQ $.extend用法
$.extend()函数 1.用将一个对象或多个对象的内容合并到目标对象, 2.如果多个对象具有相同的属性,则后者覆盖前者的属性值. 例子: var object1={ apple:1, banana ...
- POJ C程序设计进阶 编程题#3:运算符判定
编程题#3:运算符判定 来源: POJ (Coursera声明:在POJ上完成的习题将不会计入Coursera的最后成绩.) 注意: 总时间限制: 1000ms 内存限制: 65536kB 描述 两个 ...
- 掌握iOS自动布局
1,自动布局是一种基于约束的布局(constraint-based layout)引擎,它可以根据开发者在对象上的约束自动调整大小与位置. 2.在iOS 6之前使用的布局模型是“spring& ...
- SQL中查看数据库各表的大小
SQL中查看数据库各表的大小 编写人:CC阿爸 2014-6-17 在日常SQL数据库的操作中,如何快速的查询数据库中各表中数据的大小. 以下有两种方法供参考: 第一种: create table # ...
- PHP多例模式
学习java就知道设计模式中有多例模式: 1.多例类可以有多个实例2.多例类必须能够自我创建并管理自己的实例,并向外界提供自己的实例. 大家都知道PHP单例模式,却很少说PHP多例模式,下面是在wik ...