Django1.7+Apache2.4部署
来源:互联网 发布:懒人之家js特效怎么用 编辑:程序博客网 时间:2024/05/21 09:33
本人也是刚接触Django,在遇到困难时在网上得到很多博客关于Django介绍的帮助,为了发扬分享的精神,特意记录一下关于Django1.7 +Apache2.4的部署过程
因为Django涉及到python、Django、Apache、mod_wsgi,所以关于版本的配合非常关键,我使用的版本分别如下:Django1.7+Apache2.4VC9+mod_wsgi‑4.4.9+python2.7+Windows7
本文假设已经在本机上实现了Django网站的搭建,所以python2.7和Django1.7的下载不说明,Django文档地址:Django文档说明
1、下载Apache2.4:
下载地址:点击打开链接,我下载的文档的具体地址:点击打开链接
Windows安装注意事项:点击打开链接,对Apache在Windows上安装做一些说明,可以忽略
我下载后的文档的名字:httpd-2.4.12-x86.zip
下载后把文档解压到:D:\Apache24,可以看到我的文件目录:
主要需要配置的文件:D:\Apache24\conf\httpd.conf,通过文档查找的方式查找需要修改的代码段,推荐使用notepad++
Define SRVROOT "D:/Apache24"ServerRoot "${SRVROOT}"
ServerName www.example.com:8086
#Listen 12.34.56.78:80Listen 127.0.0.1:8086
启动Apache的bin/httpd.exe程序,并浏览器访问:http://127.0.0.1:8086,会在浏览器上看到Apache的欢迎界面,这样Apache就初步配置完成
2、下载mod_wsgi:
下载地址:点击打开链接,选择灰色的那个版本:
whl是python打包的一个格式,把它改为zip就可以解压了,把里面的mod_wsgi.so拷贝到D:\Apache24\modules路径下
3、配置Apache与Django
重新打开D:\Apache24\conf\httpd.conf,在文档尾部添加了以下内容,主要是配置路径,告诉Apache关于Django的static的路径等#添加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> AllowOverride None Options None Require all granted</Directory>然后设置Django的setting.py文件:
修改以下内容:
...DEBUG = False TEMPLATE_DEBUG = FalseALLOWED_HOSTS = ['127.0.0.1', 'localhost']重新启动Apache的bin/httpd.exe程序,打开浏览器,访问http://127.0.0.1:8086/看之前的Django网页是否出来了;
到这里,部署还没有结束,通常这样在admin上显示的页面无法加载部分css和背景图片等静态文件,这是因为Apache无法找到这些静态文件,因为它们不是在我们的项目中,而是在这里:D:\Python27\Lib\site-packages\Django-1.7.1-py2.7.egg\django\contrib\admin
4、收集静态文件
怎样把D:\Python27\Lib\site-packages\Django-1.7.1-py2.7.egg\django\contrib\admin文件拷贝到我们项目的static里面呢?手动拷贝是可以的,但这样不科学,可能还会遗漏其他app所需要的静态文件,例如我自己就还遗漏了django_markdown静态文件了,根据网络搜索,解决的方法是:
①修改配置setting.py文件,把STATIC_ROOT的注释去掉,然后把STATICFILES_DIRS的os.path.join(BASE_DIR, "static")注释掉。
STATIC_URL = '/static/'#STATIC_ROOT = os.path.join(BASE_DIR, "static")TEMPLATE_DIRS = ( os.path.join(BASE_DIR, "templates"), )STATICFILES_DIRS = ( os.path.join(BASE_DIR, "static"), )修改后的效果是:
STATIC_URL = '/static/'STATIC_ROOT = os.path.join(BASE_DIR, "static")TEMPLATE_DIRS = ( os.path.join(BASE_DIR, "templates"), )STATICFILES_DIRS = ( #os.path.join(BASE_DIR, "static"), )
②在Django项目的根目录运行 cmd命令,收集到admin&django_markdown:
F:\Django_Project\qblog>python manage.py collectstatic
③把setting.py的上一步设置还原,重新运行Apache,是否可以看到调试时的效果了,enjoy it!!
PS:在配置Apache时,可以查看log文件,这样可以非常快的找出问题的原因,主要是两个log文件:access.log &error.log
参考文档:
虫师的博客:点击打开链接
dfg727的博客:点击打开链接
原创,转载请注明出处:yingmutongxue的博客:http://blog.csdn.net/yingmutongxue/article/details/43985559
蜗牛工作站:点击打开链接
- Django1.7+Apache2.4部署
- apache2.4+python2.7+mod wsgi部署django1.10项目
- Python2.7 Django1.8 CentOS7 Apache2.4 mod_wsgi4.4.21 环境下部署
- Django1.10+Apache2.4+mod_wsgi+python3.5部署
- Ubuntu16.04下Apache2.4部署Django1.8.7
- Ubuntu16.04 部署Django1.10 apache2.4 mod_wsgi
- Debian+Django1.11+Apache2.4+mod_wsgi+python2.7搭建服务器
- 手把手教你:Ubuntu14+apache2+django1.7+python2.7下网页/网站部署
- fedora20 下 django1.6+python3.3 部署到 wsgi 和apache2.4
- ubuntu python3.5 django1.8.5 apache2.4 wsgi mysql部署django项目
- Centos7+django1.11+apache2.4+mod_wsgi4.5+python3.6项目部署
- Windows下Django1.6 + Apache2.2 + mod_WSGI 配置部署
- Windows下Django1.6 + Apache2.2 + mod_WSGI 配置部署
- centos7+apache2.4+python3.6+django1.11
- Django1.4上部署OSQA
- 新浪sae部署django1.4
- 新浪sae部署django1.4
- Ubuntu14.04+Python3.4+apache2.4+Django1.7站点发布笔记
- iOS客户端学习-字符串比较大小
- 【转+分析】JAVA: 为什么要使用"抽象类"? 使用"抽象类"有什么好处?
- 【Android UI设计与开发】第14期:顶部标题栏(五)两种方式实现仿微信标题栏弹窗效果
- lua的类与继承
- Android开发:实时处理摄像头预览帧视频------浅析PreviewCallback,onPreviewFrame,AsyncTask的综合应用
- Django1.7+Apache2.4部署
- 内存池实现示例
- OSGI 中嵌入 Http 服务器的运行环境
- 我的csdn博客
- Android基础类之BaseAdapter
- 给Mac添加wget功能
- WebService原理
- 【Android UI设计与开发】第15期:顶部标题栏(六)实现悬浮式顶部和底部标题栏效果
- Shell/Bash 时间编程技巧