Apache2 部署 Django
环境:
debian8
apache2.4.10 #请注意自己的apache版本,不同版本配置文件结构差异很大
django1.10
python3.4
默认apache2已经安装
Django项目路径 /var/www/mysite
---------------------------------------------------------------------------------------------------
首先安装MOD_WSGI
apt-get install libapache2-mod-wsgi-py3 #python3 apt-get install libapache2-mod-wsgi #python2
创建django项目
cd /var/www django-admin startproject mysite cd mysite mkdir static cp -R /usr/local/lib/python3./dist-packages/django/contrib/admin/static/* ./static/ #复制后台样式文件到项目目录
创建虚拟主机配置文件
cd /etc/apache2/sites-enabled/ cp -default.conf -default.conf nano -default.conf
<VirtualHost *:> ServerAdmin webmaster@localhost
DocumentRoot /var/www/mysite ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined # 存放用户上传图片等文件的位置
Alias /media/ /var/www/mysite/media/ # 静态文件(js/css/images)的存放位置
Alias /static/ /var/www/mysite/static/ # 允许通过网络获取static的内容
<Directory /var/www/mysite/static/>
Require all granted
</Directory> # 最重要的!通过wsgi.py让Apache识别这是一个Django工程,别漏掉前边的 /
WSGIScriptAlias / /var/www/mysite/mysite/wsgi.py
# wsgi.py文件的父级目录
<Directory /var/www/mysite/mysite/>
<Files wsgi.py>
Require all granted
</Files>
</Directory> </VirtualHost> # vim: syntax=apache ts= sw= sts= sr noet
编辑 /etc/apache2/ports.conf 添加一行 Listen 81 #监听81端口,就是我们新建的虚拟主机
编辑 /etc/apache2/mods-enabled/wsgi.load
LoadModule wsgi_module /usr/lib/apache2/modules/mod_wsgi.so-3.4 #python3 LoadModule wsgi_module /usr/lib/apache2/modules/mod_wsgi.so #python2
编辑 /etc/apache2/mods-enabled/wsgi.conf
添加一行 WSGIPythonPath /var/www/mysite #项目所在路径
这个时候就差不多了可以 service apache2 start
访问:127.0.0.1:81
It worked!
Congratulations on your first Django-powered page.
访问:127.0.0.1:81/admin 会报错
初始化数据库文件
manage.py migrate
OK!
如果是在虚拟机或远程主机部署别忘了在settings.py中修改ALLOWED_HOSTS = [],添加可访问域名或IP列表
CentOS可以参考http://www.cnblogs.com/starof/p/4685132.html
Apache2 部署 Django的更多相关文章
- apache2部署django以及静态文件
django中的runserver只是一个很简单的web服务器,在开发中是不建议使用的,django在官方中建议是使用apache2等web服务器来配置,并且django会把静态文件交由apache2 ...
- CentOS 7下使用Apache2部署Django项目,解决文件名中含有中文报错的问题
系统版本: CentOS 7.3Apache 2.4 Django 1.11 问题描述 Django项目涉及上传操作,上传文件名称含有中文,若使用runserver启动服务,没有问题!若将Django ...
- apache2部署django的错误
apache的日志例如以下报错: /var/www/my_project/myproject/wsgi.py cannot be loaded as Python module ImportError ...
- Apache2.4部署django出现403 Forbidden错误解决办法
前言:Apache2.4部署django出现403 Forbidden错误最好要结合apache中的错误日志来观察出现何种错误导致出现403错误 下午百度了一下午没找到解决办法,试了n种方法,简直坑爹 ...
- Ubuntu16.04 apache2 wsgi 部署django
在Ubuntu16.04上部署django其实还算简单直观,最重要的问题就是路径设置正确,并且保证版本统一,这个测试是在 Apache/2.4.18 (Ubuntu) apt-get install ...
- mac osx 上面部署Django项目 apache+mysql+mod_wsgi
1.安装Xcode command line tools 首先,编译mysql和Homebrew需要用到Xcode command line tools,所以首先安装command line tool ...
- apache部署django记录
在ubuntu下通过apache部署django 首先需要下载python,django,apache以及wsgi模块 python基本已经自带,我用的是2.7,不是的话可以重新装一个 下载djang ...
- Windows下Apache部署Django过程记录
Win7/Apache/Python2.7/Django1.9部署Web 环境: Windows7 Apache httpd-2.4.16-win64-VC14 Python2.7.11 Djan ...
- 部署django - Apache + mod_wsgi + windows
部署django - Apache + mod_wsgi + windows 1.环境 django 1.6.2 python 3.3 32位 apache 2.4.7 32位 一个可以使用的djan ...
随机推荐
- alert弹层无法取消问题解决办法
最近做H5移动端开发的时候,js代码写了个alert,在Android手机上能正常运行,但是在IOS上运行弹出之后却无法取消掉, 而且页面卡死,点不了任何东西,这种情况是非常不好的,用户体验非常糟糕. ...
- javascript的实践
jQuery增强了css的选择器功能,是一个简洁快速的脚本库,能够使用短小的代码实现复杂的网页预览效果.如实现表格奇偶行异色 <script language="javascript& ...
- JAVA中管道通讯(线程间通讯)例子
Java I/O系统是建立在数据流概念之上的,而在UNIX/Linux中有一个类似的概念,就是管道,它具有将一个程序的输出当作另一个程序的输入的能力.在Java中,可以使用管道流进行线程之间的通信,输 ...
- C#中datatable导出excel(三种方法)
方法一:(拷贝直接可以使用,适合大批量资料, 上万笔) Microsoft.Office.Interop.Excel.Application appexcel = new Microsoft.Offi ...
- C#数组全解
数组概述 C# 数组从零开始建立索引,即数组索引从零开始.C# 中数组的工作方式与在大多数其他流行语言中的工作方式类似.但还有一些差异应引起注意. 声明数组时,方括号 ([]) 必须跟在类型后面,而不 ...
- linux中解压缩并安装.tar.gz后缀的文件
1.解压缩: Linux下以tar.gz为扩展名的软件包,是用tar程序打包并用gzip程序压缩的软件包.要安装这种软件包,需要先对软件包进行解压缩,使用“tar -zxfv filename.tar ...
- 阿里云弹性Web托管的URL重写问题
今天将ThinkPHP写的网站搭到阿里云的弹性Web托管服务器上,出现路由问题 诸如访问 www.xxx.com/home/index.html会发生错误如下 页面报错: No input file ...
- eclipse中将Maven Dependencies Libraries移除后的恢复办法
在eclipse中,如果你不小心在properties=>Java Build Path中将Maven Dependencies Libraries 移除了怎么恢复呢? 解决办法:1.右键你的项 ...
- Xcode下的批量编辑
说明:目前为止我找到三种查找与替换功能,如果有更多的方式,请在下面留言 第一种:我们常用的查找以及查找与替换功能 在Windows下,使用Ctrl+f 快捷键查找.用Ctrl+h来进行查找与替换功能. ...
- 完美解决scrollView 截屏图片模糊
UIGraphicsBeginImageContext 首先说明一下UIGraphicsBeginImageContextWithOptions 和UIGraphicsBeginImageCont ...