安装完django之后,每次都需要通过命令来启动启动开发服务器。虽然调试和测试方便,但只能在本地运行,并且不能承受许多用户同时使用的负载。所以需要将Django部署到生产级的服务器,这里选择apache。

参考链接

  http://www.cnblogs.com/fengzheng/p/3619406.html

  http://www.jianshu.com/p/b40a4a12fff1

  http://www.ziqiangxuetang.com/django/django-deploy.html

  http://blog.chinaunix.net/uid-20940095-id-4408225.html

1. ubuntu安装apache

  sudo apt-get install apache2

2. 测试apache

打开浏览器输入,127.0.0.1

3. 建立Python与Apache的链接
sudo apt-get install libapache2-mod-wsgi      #Python2

sudo apt-get install libapache2-mod-wsgi-py3  #Python3
4. 创建django工程

cd /var/www/

sudo django-admin.py startproject mysite

5. 测试django工程

cd mysite

采用8000端口

sudo python manage.py runserver 8000

浏览器测试

6. 更改端口

sudo vi /etc/apache2/ports.conf

添加:

NamevirtualHost *:8888
Listen 8888

表示VirtualHost *:8888的虚拟主机监听8888端口

7. 添加网站配置文件

sudo vi /etc/apache2/sites-available/mysite.conf

<VirtualHost *:8888>
DocumentRoot /var/www/mysite/mysite
<Directory /var/www/mysite/mysite>
Order allow,deny
Allow from all
</Directory> WSGIScriptAlias / /var/www/mysite/mysite/wsgi.py
</VirtualHost>

8. 更改django工程

sudo vi /var/www/mysite/mysite/wsgi.py

添加

import sys
sys.path.append("/var/www/mysite/")

9. 配置生效

9.1

  sudo a2ensite mysite.conf

有时候需要不使能配置。

  sudo a2dissite mysite.conf

9.2 apache服务重启

  sudo service apache2 restart

  sudo service apache2 reload

出现错误;

restarting web server apache2                                         [fail]
* The apache2 configtest failed.
Output of config test was:
AH00526: Syntax error on line 8 of /etc/apache2/sites-enabled/mysite.conf:
Invalid command 'WSGIScriptAlias', perhaps misspelled or defined by a module not included in the server configuration
Action 'configtest' failed.
The Apache error log may have more information.
tony@T:/etc/apache2/sites-available$ sudo a2enmod wsgi
ERROR: Module wsgi does not exist!

解决方法:

sudo apt-get purge libapache2-mod-wsgi

sudo apt-get install libapache2-mod-wsgi
10. 登录测试

127.0.0.1:8888

11. 创建app测试

cd /var/www/mysite/

python manage.py startapp blog

sudo vi blog/views

from django.shortcuts import render

from django.http import HttpResponse

# Create your views here.
def index(request):
return HttpResponse("hello world")

sudo vi mysite/urls.py

from django.conf.urls import url
from django.contrib import admin from blog import views urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^$', views.index),
]

访问结果。

Tony Liu

2016-10-19, Shenzhen

django 部署到 apache的更多相关文章

  1. Django部署到Apache Web Server

    Windows环境下,将Django部署到Apache Web Server 在Windows上部署Django(用mod_wsgi)会出现各种奇怪的问题,现简单记录下配置过程及遇到的错误及解决方法. ...

  2. django部署到apache上(非常重要的,3者版本要一致,是32位就都要是32位的)

    网上把django部署到apache的文章挺多的,但是按照大家的操作,并没有一次就成功,还是遇到了一些问题,这里主要有以下几个情况. 1.网上找到的mod_wsgi的版本问题,导致动态库加载不上. 2 ...

  3. Windows环境下,将Django部署到Apache Web Server

    在Windows上部署Django(用mod_wsgi)会出现各种奇怪的问题,现简单记录下配置过程及遇到的错误及解决方法. 环境搭建                                   ...

  4. 如何将Django部署到Apache服务器上

    操作环境: Ubuntu 16.04 Apache 2.4 Django 1.9 Python 2.7 mod_wsgi  前言:本教程纯自己查阅资料后整理,望对大家有帮助! 1. 安装 mod_ws ...

  5. Django项目部署到Apache服务器

    本文讲述的是在阿里云服务器(ECS)上部署Django项目于Apache,服务器操作系统为ubuntu,公网Ip地址为123.56.30.151. 将Django部署到Apache服务器的原因 Dja ...

  6. django 项目部署在 Apache 后, 设置二级域名(Apache虚拟主机 、 万网二级域名设置)

    上一篇文章简单说了怎么把django的项目部署到Apache上. 现在想弄个二级域名,也就是我原来有个域名 www.mysite.com,现在我想弄个 bbs.mysite.com ,该怎么做呢. 要 ...

  7. django项目部署在Apache服务器中,静态文件路径的注意点

    django Apache部署静态文件的路径注意点 静态文件放在对应的 app 下的 static 文件夹中 或者 STATICFILES_DIRS 中的文件夹中. 当 DEBUG = True 时, ...

  8. Django项目部署到Apache服务器上

    之前写了把Django部署到XAMPP上,但是有bug,翻apache日志的时候发现会无法import _ssl,然后我就怒而直接装apache2了 配置方法大约和这篇文章差不多 安装必要的包 sud ...

  9. 解决Django-1.8.2应用部署到Apache后无法显示admin应用的CSS

    在将Django-1.8.2应用部署到Apache后,无法显示admin应用的静态内容,而在“manage.py runserver”命令下可以正常显示,主要是Apache没有找到Django静态内容 ...

随机推荐

  1. WebRTC手记之框架与接口

    转载请注明出处:http://www.cnblogs.com/fangkm/p/4370492.html 上一篇文章简单地介绍了下WebRTC的协议流程,这一篇就开始介绍框架与接口. 一提到框架,本能 ...

  2. SSh结合Easyui实现Datagrid的分页显示

    近日学习Easyui,发现非常好用,界面很美观.将学习的心得在此写下,这篇博客写SSh结合Easyui实现Datagrid的分页显示,其他的例如添加.修改.删除.批量删除等功能将在后面的博客一一写来. ...

  3. 运用正则表达式在Asp中过滤Html标签代码的四种不同方法

    Function RemoveHTML(strHTML)Dim objregExp, Match, MatchesSet objRegExp = New RegexpobjRegExp.IgnoreC ...

  4. 【新产品发布】【EVC8001 磁耦隔离式 USB 转 RS-485】

    EVC8001 是 XiaomaGee 团队打造的精品级 USB 转 RS-485 隔离转换器,全部采用最优方案,每个细节均做到最优化.最佳化.亮点举不胜举: ==================== ...

  5. [IT扫盲]软件测试时期版本的称呼

    有时候搞不懂,还没发布时的软件怎么会就有那么多版本,今天彻底想了解一下. 早有人写好了. 请参考这里: http://baike.baidu.com/view/707808.htm#1_2 测试版 α ...

  6. 学会查看tomcat的日志文件

    1.Tomcat的启动日志写出了几乎所有的启动历史记录, 包括部署项目,deploy项目.用了什么log日志记录软件,启动的tomcat引擎是什么,正在部署什么项目deploying

  7. mysql查询所有字段(*),并且联表时需要特别注意的地方

    如果不标明*是读取哪个表,确实会将所有三个表都读出来.需要小心

  8. 高手指南PHP安装配置

    高手指南PHP安装配置 2014-11-05 12:57:13   来源:   评论:0 次 点击:12 次 | 发布人:登陆查看   PHP的快速发展,它的功能越来越强大,运用它也变得很方便,下面我 ...

  9. flink - accumulator

      读accumlator JobManager 在job finish的时候会汇总accumulator的值, newJobStatus match { case JobStatus.FINISHE ...

  10. 【转】android UI进阶之自定义组合控件

    [源地址]http://blog.csdn.net/notice520/article/details/6667827 好久没写博客了.实在是忙不过来,不过再不总结总结真的不行了.慢慢来吧,有好多需要 ...