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
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
本文向大家介绍zabbix 2.2安装步骤详细介绍,包括了zabbix 2.2安装步骤详细介绍的使用技巧和注意事项,需要的朋友参考一下 Zabbix简介 Zabbix是一个企业级的开源分布式监控解决方案,由一个国外的团队持续维护更新,软件可以自由下载使用,运作团队靠提供收费的技术支持赢利。 官方网站:http://www.zabbix.com 官方文档:http://www.zabbix.co
本文向大家介绍Vue.js项目部署到服务器的详细步骤,包括了Vue.js项目部署到服务器的详细步骤的使用技巧和注意事项,需要的朋友参考一下 前言 最近做完了一个项目,Vue.js 2.0 + vuex + axios,还是有点大的。想着做了这么久,放服务器给朋友们体验一下,帮忙找找BUG,于是就有了研究服务器这一篇文章了。 准备工作 服务器 既然是部署到服务器,肯定是需要一个云的。我这里找基友
在前面的章节中我们使用python3 manage.py runserver来运行服务器。这只适用测试环境中使用。 正式发布的服务,我们需要一个可以稳定而持续的服务器,比如Apache, Nginx, IIS等,本文将以 Apache为例。 使用Apache和mod_wsgi部署Django 是一种久经考验的将Django投入生产的方法。 mod_wsgi是一个Apache模块,可以托管任何Pyt
本文向大家介绍docker kubernetes dashboard安装部署详细介绍,包括了docker kubernetes dashboard安装部署详细介绍的使用技巧和注意事项,需要的朋友参考一下 docker之kubernetes dashboard部署 1. 环境说明: 1). 架构: 注: 本次实验服务器环境均采用centos 7. 服务安装均采用yum install. 192.16
在最后的章节中我们会向你展示如何部署你的应用到产品环境。你可以使用Heroku来免费托管和部署应用,在学习如何部署React应用的同时也可以了解更多create-react-app的相关特性。 弹出 接下来的步骤和知识对于部署产品环境来说并不是必须的,但我依然想要在这里讲解一下。create-react-app提供了一个特性,既可以保持应用的可扩展性,又可以避免被第三方依赖绑架。被第三方依赖绑架通
本文向大家介绍Ubuntu LTS服务器部署Jenkins详细介绍,包括了Ubuntu LTS服务器部署Jenkins详细介绍的使用技巧和注意事项,需要的朋友参考一下 在Ubuntu 16.04 LTS服务器部署Jenkins 本文讲述怎样在Ubuntu 16.04 LTS服务器上部署Jenkins环境。Jenkins是基于Java语言开发的持续集成工具,为软件开发提供了一个持续集成服务。Jenk