Apache上部署Django步骤详细介绍

 更新时间:2017年02月13日 11:23:32   投稿:lqh  
这篇文章主要介绍了Apache上部署Django步骤详细介绍的相关资料,需要的朋友可以参考下

Apache上部署Django

目前,Apache和mod_python是在生产服务器上部署Django的最健壮搭配。mod_python 是一个在Apache中嵌入Python的Apache插件,它在服务器启动时将Python代码加载到内存中。

Django 需要Apaceh 2.x 和mod_python 3.x支持。

Apache的配置参见:http://www.djangoproject.com/r/apache/docs/

 使用mod_python部署

1.为了配置基于 mod_python 的 Django,首先要安装有可用的 mod_python 模块的 Apache。

2.然后应该有一个 LoadModule 指令在 Apache 配置文件中。 它看起来就像是这样:

LoadModule python_module /usr/lib/apache2/modules/mod_python.so

3.配置Apache,用来定位请求URL到Django应用:

<VirtualHost *:80>
    ServerName www.example.com

    <Location "/mysite1">
      SetHandler python‐program
      PythonHandler django.core.handlers.modpython
      SetEnv DJANGO_SETTINGS_MODULE mysite1.settings
      PythonAutoReload Off
      PythonDebug Off
      PythonPath "['/var/www/html/mysite1'] + sys.path"
      PythonInterpreter mysite1
    </Location>

    <Location "/mysite2">
      SetHandler python‐program
      PythonHandler django.core.handlers.modpython
      SetEnv DJANGO_SETTINGS_MODULE mysite2.settings
      PythonAutoReload Off
      PythonDebug Off
      PythonPath "['/var/www/html/mysite2'] + sys.path"
      PythonInterpreter mysite2
    </Location>

    [......]
</VirtualHost>

它告诉 Apache,任何在 / mysite这个路径之后的 URL 都使用 Django 的 mod_python 来处理。 它 将DJANGO_SETTINGS_MODULE 的值传递过去,使得 mod_python 知道这时应该使用哪个配置。

查看 mod_python 文档获得详细的指令列表。

4.重启Apache,查看Http://www.example.com/mysite:

/etc/init.d/apache2 restart

使用mod_wsgi部署

1.下载安装 mod_wsgi 模块,生成mod_wsgi.so和wsgi.conf

2.在配置中加载模块:

LoadModule python_module /usr/lib/apache2/modules/mod_wsgi.so

3.修改Apache配置文件httpd.conf

<VirtualHost *:80>
    ServerName www.example
    DocumentRoot /var/www/html/mysite
    WSGIScriptAlias / /var/www/html/mysite/apache/django.wsgi
    <Directory />
        Order deny,allow
        Allow from all
    </Directory>
    <Directory /apache>
        Allow from all
    </Directory>
</VirtualHost>

4.创建并配置wsgi的配置文件:

# filename:mysite.apache.django.wsgi
import os, sys

#Calculate the path based on the location of the WSGI script.
apache_configuration= os.path.dirname(__file__)
project = os.path.dirname(apache_configuration)
workspace = os.path.dirname(project)
sys.path.append(workspace)
os.environ['DJANGO_SETTINGS_MODULE'] = 'mysite.settings'
os.environ['PYTHON_EGG_CACHE'] = '/tmp'

import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
print >> sys.stderr, sys.path  
shell>chmod a+x django.wsgi

5.修改Django项目配置文件settings.py:

DATABASES = {
  'default': {
    'ENGINE': 'django.db.backends.mysql',
    'NAME': 'mysite',           
    'USER': 'admin',           
    'PASSWORD': 'admin123',         
    'HOST': '127.0.0.1',           
    'PORT': '3306', }
}

TEMPLATE_DIRS = (
  '/var/www/html/mysite/templates',
)

6.重启Apache,访问http://www.example.com/mysite

/etc/init.d/apache2 restart

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

相关文章

  • Linux学习教程之redis哨兵集群详解

    Linux学习教程之redis哨兵集群详解

    这篇文章主要给大家介绍了关于Linux学习教程之Redis哨兵集群的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用redis具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-07-07
  • Centos7服务器下启动jar包项目的最佳方法

    Centos7服务器下启动jar包项目的最佳方法

    这篇文章主要给大家分享介绍了关于Centos7服务器下启动jar包项目的最佳方法,文中通过示例代码以及图文介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-03-03
  • linux系统下使用tcpdump进行抓包方法

    linux系统下使用tcpdump进行抓包方法

    在本篇文章中小编给大家分享了关于linux系统下使用tcpdump进行抓包的方法和相关知识点,需要的朋友们学习下。
    2019-04-04
  • vmware安装CentOS 7的详细教程

    vmware安装CentOS 7的详细教程

    这篇文章主要为大家详细介绍了vmware安装CentOS7的详细教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-07-07
  • 自制YUM仓库的步骤讲解

    自制YUM仓库的步骤讲解

    今天小编就为大家分享一篇关于自制YUM仓库的步骤讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-02-02
  • Centos7系统下搭建.NET Core2.0+Nginx+Supervisor环境

    Centos7系统下搭建.NET Core2.0+Nginx+Supervisor环境

    本文为大家分享了如何在Centos7系统下搭建.NET Core2.0+Nginx+Supervisor环境,部署方法非常详细
    2018-10-10
  • Linux系统中kill命令杀死进程常用小技巧分享

    Linux系统中kill命令杀死进程常用小技巧分享

    这篇文章主要介绍了Linux系统中kill命令杀死进程常用小技巧,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-06-06
  • linux下AutoFs挂载服务安装教程

    linux下AutoFs挂载服务安装教程

    大家好,本篇文章主要讲的是linux下AutoFs挂载服务安装教程,感兴趣的小伙伴赶快来看一看吧,对你有帮助的话记得收藏一下哦,方便下次浏览
    2021-12-12
  • Centos 7.4中的远程访问控制的实现方法

    Centos 7.4中的远程访问控制的实现方法

    这篇文章主要介绍了Centos 7.4中的远程访问控制的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-11-11
  • Linux运维基础进程管理实时监控控制

    Linux运维基础进程管理实时监控控制

    这篇文章主要介绍了Linux运维基础中进程的管理及实时监控控制,有需要的朋友可以借鉴参考下,希望可以有所帮助,共同学习共同进步
    2021-09-09

最新评论