ubuntu 14.04 + apache2.2 + Django 1.9.7 上线部署

写在开始之前:

  浪费了好多的时间,查了好多的资料,终于将《ubuntu 14.04 + apache2.2 + Django 1.9.7 上线部署》配置成功了,所以特别的记录下来,帮助其他类似经历的小伙伴节省时间。

  操作系统:ubuntu 14.04

  apache2: apache2.2

  python: 2.7.6

  Django: 1.9.7

  

  Django项目名:awlg

  Django项目所在目录:/home/test/project

  APP名: lgv1


 

首先罗列一下遇到的问题,同时也是写这篇文章的脉络:

  1.  需要安装什么环境

  2.  Django 的项目中settings.py中的DEBUG为False的问题:

      a.   静态文件找不到

                 b.   无法访问主页

     3.  wsgi文件怎么写

     4.  apache2应该怎么配置

废话不多说,下面开始正解!


1. 环境安装

#安装  apache2.2
apt-get update
apt-get install apache2
apachectl -v   # 安装apache2后,运行改命令查看apache2的版本号,已检查是否安装成功。
#安装django 1.9.7
apt-get install python-pip  # 安装django之前,先安装一个python-pip
pip install Django==1.9.7
#安装mod_wsgi
apt-get install apache2-threaded-dev
apt-get install apache2-mpm-worker
apt-get install python-dev
pip install mod_wsgi

2.  Django 的项目中settings.py中的DEBUG为False的问题:

  说明:如果DEBUG=True,则Django会自动帮你完成静态文件的查找加载,但如果为False时,需要自己配置一下静态文件的查找。

      

  配置settings.py文件: 

DEBUG = False

#DEBUG为FALSE时必须修改下面这行代码,否则无法访问,这里配置为任何IP可以访问,建议在web server中做ACL控制 ALLOWED_HOSTS = ['*'] #需要修改为绝对路径 STATIC_URL = '/root/myPython/awlg/static/' STATICFILES_DIRS = ( os.path.join(BASE_DIR, 'static'), ) #如果下面这个没有,最好添上,否则也会出问题的 STATIC_ROOT = os.path.join(BASE_DIR, 'static')

配置urls.py文件:

from django.conf import settings
from django.conf.urls import patterns

#添加在文件末尾
if settings.DEBUG is False:
    urlpatterns += patterns('', url(r'^static/(?P<path>.*)$', 'django.views.static.serve', { 'document_root': settings.STATIC_ROOT, }), )

3.apache2的配置

  ubuntu的apache2配置文件根目录是:/etc/apache2

  注意:接下来的配置仅以我个人服务器的环境配置,按照前面的步骤安装出来的apache2可能存在版本不同。

  修改 ports.conf文件:

    #添加一行代码即可, 意思是apache2启动时监听端口80

    Listen 80

  编辑httpd.conf文件:vim /etc/apache2/httpd.conf

  

ServerName localhost:80

<VirtualHost *:80>
    NameVirtualHost *:80
Alias /static/ /home/test/project/awlg/static/
  #wsgi.py文件是由Django创建项目时自动生成的 WSGIScriptAlias / /home/test/project/awlg/awlg/wsgi.py <Directory /home/test/project/awlg/awlg> <Files wsgi.py> Satisfy Any Allow from all </Files> </Directory> </VirtualHost>

  加载配置文件:

    service apache2 reload

  重新启动apache2

    service apache2 restart

 

可以访问了哈~

  

 

 

  

      

    


 

posted @ 2017-03-29 17:26  风也沉默  阅读(330)  评论(0编辑  收藏  举报