Apache上部署Django步驟詳細(xì)介紹
Apache上部署Django
目前,Apache和mod_python是在生產(chǎn)服務(wù)器上部署Django的最健壯搭配。mod_python 是一個(gè)在Apache中嵌入Python的Apache插件,它在服務(wù)器啟動(dòng)時(shí)將Python代碼加載到內(nèi)存中。
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.然后應(yīng)該有一個(gè) LoadModule 指令在 Apache 配置文件中。 它看起來就像是這樣:
LoadModule python_module /usr/lib/apache2/modules/mod_python.so
3.配置Apache,用來定位請(qǐng)求URL到Django應(yīng)用:
<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這個(gè)路徑之后的 URL 都使用 Django 的 mod_python 來處理。 它 將DJANGO_SETTINGS_MODULE 的值傳遞過去,使得 mod_python 知道這時(shí)應(yīng)該使用哪個(gè)配置。
查看 mod_python 文檔獲得詳細(xì)的指令列表。
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.創(chuàng)建并配置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項(xiàng)目配置文件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
感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
- Apache如何部署django項(xiàng)目
- windows 10下安裝搭建django1.10.3和Apache2.4的方法
- python+Django+apache的配置方法詳解
- Linux下將Python的Django項(xiàng)目部署到Apache服務(wù)器
- 在Linux系統(tǒng)上部署Apache+Python+Django+MySQL環(huán)境
- 簡單的Apache+FastCGI+Django配置指南
- windows+apache+mod_python配置django運(yùn)行環(huán)境
- Django windows使用Apache實(shí)現(xiàn)部署流程解析
相關(guān)文章
Linux學(xué)習(xí)教程之redis哨兵集群詳解
這篇文章主要給大家介紹了關(guān)于Linux學(xué)習(xí)教程之Redis哨兵集群的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用redis具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2018-07-07Centos7服務(wù)器下啟動(dòng)jar包項(xiàng)目的最佳方法
這篇文章主要給大家分享介紹了關(guān)于Centos7服務(wù)器下啟動(dòng)jar包項(xiàng)目的最佳方法,文中通過示例代碼以及圖文介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-03-03linux系統(tǒng)下使用tcpdump進(jìn)行抓包方法
在本篇文章中小編給大家分享了關(guān)于linux系統(tǒng)下使用tcpdump進(jìn)行抓包的方法和相關(guān)知識(shí)點(diǎn),需要的朋友們學(xué)習(xí)下。2019-04-04Centos7系統(tǒng)下搭建.NET Core2.0+Nginx+Supervisor環(huán)境
本文為大家分享了如何在Centos7系統(tǒng)下搭建.NET Core2.0+Nginx+Supervisor環(huán)境,部署方法非常詳細(xì)2018-10-10Linux系統(tǒng)中kill命令殺死進(jìn)程常用小技巧分享
這篇文章主要介紹了Linux系統(tǒng)中kill命令殺死進(jìn)程常用小技巧,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-06-06Centos 7.4中的遠(yuǎn)程訪問控制的實(shí)現(xiàn)方法
這篇文章主要介紹了Centos 7.4中的遠(yuǎn)程訪問控制的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11Linux運(yùn)維基礎(chǔ)進(jìn)程管理實(shí)時(shí)監(jiān)控控制
這篇文章主要介紹了Linux運(yùn)維基礎(chǔ)中進(jìn)程的管理及實(shí)時(shí)監(jiān)控控制,有需要的朋友可以借鑒參考下,希望可以有所幫助,共同學(xué)習(xí)共同進(jìn)步2021-09-09