Ubuntu1404+Django1.9+Apache2.4部署配置2配置文件设置
1.
从路径/etc/apache2/下,打开文件apache2.conf,并加入下列代码。第一行的第一个路径为的基础URL路径,第二个路径为你项目wsgi.py文件的完全路径,这句话告诉Apache使用这个WSGI应用来响应这个URL下的任何请求。第二行为项目的路径,确保你的项目可以被正确导入,第三行为wsgi.py所在文件夹的路径,Directory部分是用来使Apache可以定位到wsgi.py文件。如果Apache版本低于2.4的话,将Require all granted替换为Allow from all并在它上面一行加入Order deny,allow。
WSGIScriptAlias / "/home/wdf/mysite/mysite/wsgi.py"
WSGIPythonPath /home/wdf/mysite <Directory /home/wdf/mysite/mysite>
<Files wsgi.py>
Require all granted
</Files>
</Directory>
2.
如果从调试环境变为生产环境的话,还需要将DEBUG从True变为False。此时无法像之前那样使用127.0.0.1打开网页,需要更改一下项目的settings文件,打开django项目中的settings.py文件,加入下面这行代码,
ALLOWED_HOSTS = ['127.0.0.1']
列表中再加入一项‘localhost'也可以用来调试。
3.
如果启动Apache(命令sudo service apache2 start)报错,
AH00558: apache2: Could not reliably determine the server's fully qualified domain name,
using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message
那就在配置文件apache2.conf中加入下面这行代码,
ServerName localhost
默认端口80,可以不写。
4.Apache错误日志error.log
此时我打开网页依然不能访问到我django项目,Apache正常启动没问题,那就需要打开错误日志文件/var/log/apache2/error.log(如果路径不同通过http://www.cnblogs.com/wdfwolf3/p/5438379.html的方法寻找),发现了如下错误,
[Wed Apr 27 11:30:42.632076 2016] [:error] [pid 10808:tid 140055750682368] [client ::1:60449]
SyntaxError: Non-ASCII character '\\xe5' in file /home/wdf/code/mysite/mysite/wsgi.py on line 15,
but no encoding declared; see http://www.python.org/peps/pep-0263.html for details
这个比较常见了,编码问题,我们回到wsgi.py文件中,文件开头加入代码即可解决。
#-*- coding:ut-8 -*-
5.配置静态文件static
Django本身不能处理文件,它把这个工作交给了它使用的Web服务器,在这里我们就是用Apache来处理静态文件。网络上很多方法,但是版本比较靠前,也比较杂,我针对1.9的官方文档和自己的实践来简单实现显示静态图片,至于更深入的内容以后我实现了再继续更新。
在apache2.conf中加入代码,同上面如果Apache版本低于2.4换成另外两行代码。
Alias /abc/ /home/wdf/mysite/app/static/ <Directory /home/wdf/mysite/app/static>
Require all granted
</Directory>
在这里声明别名/abc/就是你存放静态文件的目录,之所以使用abc(正常设置成/static/就很好)这么没有意义的名字,是为了说明后面的东西,防止混淆。在html模板中图片的地址就可以使用这个别名,比如
<img src="/abc/WDF.JPG" />
当然在项目的settings.py文件中还要加一个定义,将static目录的路径赋给STATIC_URL
STATIC_URL = os.path.join(BASE_DIR, '/app/static/')
Ubuntu1404+Django1.9+Apache2.4部署配置2配置文件设置的更多相关文章
- Ubuntu1404+Django1.9+Apache2.4部署配置1安装
关于Ubuntu环境下的文章很少,搜索一些问题比较麻烦,这里将别人的做法和自己做的整合一下.这篇文章主要讲解基础的安装,至于Django1.9如何部署到Apache2.4请转到下一篇博文http:// ...
- Ubuntu16.04 apache2 wsgi 部署django
在Ubuntu16.04上部署django其实还算简单直观,最重要的问题就是路径设置正确,并且保证版本统一,这个测试是在 Apache/2.4.18 (Ubuntu) apt-get install ...
- linux后台server开发环境的部署配置和验证(nginx+apache+php-fpm+FASTCGI(C/C++))
linux后台server开发环境部署配置 引言 背景 随着互联网业务的不断增多.开发环境变得越来越复杂,为了便于统一server端的开发部署环境,特制定本配置文档. 使用软件 CentOS 6.3( ...
- nagios部署配置流程
nagios部署配置流程 nagios服务端:1.部署nagios服务端(参考nagios官方部署文档).nagios-plugin.php.apache2 2.需要在服务端添/etc/hosts中添 ...
- Jenkins部署配置简介
前段时间研究了一下自动化测试,因而接触到了Jenkins,今天有时间进行一下Jenkins部署配置相关知识的总结分享 前言:由于本次只是实验性研究,采用Windows环境,因此Jenkins可以通过下 ...
- Apache2.4部署django出现403 Forbidden错误解决办法
前言:Apache2.4部署django出现403 Forbidden错误最好要结合apache中的错误日志来观察出现何种错误导致出现403错误 下午百度了一下午没找到解决办法,试了n种方法,简直坑爹 ...
- TOMCAT的安装部署配置(配图解)
TOMCAT的安装部署配置 前提已经成功搭建配置JDK 下载好压缩包后,直接解压至某一目录下,目录中不能包含中文 双击安装文件,出现如下界面 点击[NEXT],出现如下界面 点击[I AGREE],出 ...
- PL/SQL安装部署配置(配图解)
PL/SQL安装部署配置 下载好安装包之后,双击exe程序 双击安装程序,出现如下页面 点击[NEXT],出现如下界面 选择[I Accept...],点击[NEXT],出现如下界面 选择安装路径,点 ...
- 【环境配置】php5.5 + apache2.4 安装配置【转+修改】
转自 http://my.oschina.net/lilinzero/blog/180509 [转+修改][环境配置]php5.5.10 + apache2.4 安装配置 根据自己的实践所得,稍微修改 ...
随机推荐
- 哈希(3) java中的hashcode
看看jdk api中对object类的描述 1.http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html 2首先你要知道每个对象都有 ...
- bzoj 1493: [NOI2007]项链工厂(线段树)
1493: [NOI2007]项链工厂 Time Limit: 30 Sec Memory Limit: 64 MBSubmit: 1256 Solved: 545[Submit][Status] ...
- Bzoj 3339: Rmq Problem && Bzoj 3585: mex 莫队,树状数组,二分
3339: Rmq Problem Time Limit: 20 Sec Memory Limit: 128 MBSubmit: 833 Solved: 397[Submit][Status][D ...
- Java多线程异步调度程序分析(二)
源自:http://blog.sina.com.cn/s/blog_4cc16fc50100c0uh.html public abstract class Result { //抽象的结果类 pu ...
- Test Bench基础知识笔记
学的内容多了,好多指令和用法都容易遗忘和混淆,出现这种情况就需要勤记笔记,忘记了多翻阅几次,基本上就能完全记住了. [`timescale 1ns/1ps]前一个1ns表示时延时间,后一个1ps表示时 ...
- 3第一周课后练习·阅读计划(2)-使用指针来访问私有数据成员
/* * Copyright (c) 2015, 计算机科学学院,烟台大学 * All rights reserved. * 文件名:test.cpp * 作 靠:刘畅 * 完成日期:2015年 3 ...
- 对MYSQL IFNULL函数的使用进行了具体的叙述
下文对MYSQL IFNULL函数的使用进行了具体的叙述.供您參考学习.假设您在MYSQL IFNULL函数使用方面遇到过类似的问题,最好还是一看. MYSQL IFNULL(expr1,expr2) ...
- tcpreplay安装使用
#Author: ypguo#Data: 2010.4.23#Version: 1.2 增加了修改VLAN tag内容. 1.1 修改了cygwin下安装的内容 ...
- 局域网内使用linux的ntp服务
假设我们的饿局域网无法连接外网,但又需要同步时间,怎么办? 1. 已局域网内的一台机器作为基础,适用date修改其他机器的时间,date -s ...,很不方便,这里不介绍. 2. 适用ntp服务,自 ...
- Cocopods -第三方库的管理
前言 什么是CocoaPods? CocoaPods是OS X和iOS下的一个第三类库管理工具,通过CocoaPods工具我们可以为项目添加被称为“Pods”的依赖库(这些类库必须是CocoaPods ...