日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Apache上部署Django

發布時間:2025/6/15 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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

?

總結

以上是生活随笔為你收集整理的Apache上部署Django的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。