Apache上部署Django步骤详细介绍

2025-05-27 0 38

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 配置文件中。 它看起来就像是这样:

?

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

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

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25
<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:

?

1
/etc/init.d/apache2 restart

使用mod_wsgi部署

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

2.在配置中加载模块:

?

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

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

?

1

2

3

4

5

6

7

8

9

10

11

12
<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的配置文件:

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15
# 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:

?

1

2

3

4

5

6

7

8

9

10

11

12

13
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

?

1
/etc/init.d/apache2 restart

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

原文链接:http://www.cnblogs.com/oubo/archive/2012/04/06/2434961.html

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 行业资讯 Apache上部署Django步骤详细介绍 https://www.kuaiidc.com/62982.html

相关文章

发表评论
暂无评论