Django部署到Apache服务器

  Django项目本身就可以启动运行,为什么还需要部署到Apache或者Nginx上呢?初学者都会遇到这个问题,我们来看看官方解释:It’s intended only for use while developing. (We’re in the business of making Web frameworks, not Web servers.),意思是django的业务是制作Web框架,而不是Web服务器。自带的web server只是方便开发,并不能直接放到生产环境,有兴趣的同学可以自己测试两者性能上的差距。 言归正传,我们这里主要讲述如何搭建Apache环境。

安装Apache

Apache(win 64)下载:https://www.apachehaus.com/cgi-bin/download.plx#APACHE24VC09

1.解压缩到E盘,修改E:\Apache24\conf\httpd.conf 文件。

......
Define SRVROOT "E:/Apache24"
ServerRoot "${SRVROOT}"
......

#Listen 12.34.56.78:80
Listen 8088
......

ServerName localhost:8088
......

2.打开E:\Apache24\bin\httpd.exe,在浏览器输入http://127.0.0.1:8088/   出现welcome页面代表成功。

mod_wsgi

mod_wsgi 模块下载:http://www.lfd.uci.edu/~gohlke/pythonlibs/#mod_wsgi

1.把whl文件改成zip,解压缩,把里面的mod_wsgi.so拷贝到E:\Apache24\modules路径下,httpd.conf 中新增一段配置:

#添加mod_wsgi.so 模块
LoadModule wsgi_module modules/mod_wsgi.so  

2.若mod_wsgi解压后找不到mod_wsgi.so文件(如有跳过此步骤)

运行cmd,进入Scripts目录执行安装操作:

pip3 install mod_wsgi-4.5.17+ap24vc10-cp34-cp34m-win_amd64.whl

在Scripts目录执行:mod_wsgi-express module-config

把三行内容复制到httpd.conf  替换步骤1中的新增内容:

#添加mod_wsgi.so 模块
LoadFile "c:/python34/DLLs/python3.dll"
LoadModule wsgi_module "c:/python34/lib/site-packages/mod_wsgi/server/mod_wsgi.pyd"
WSGIPythonHome "c:/python34"

配置Apache与Django

1.打开Apache配置文件 httpd.conf,在末尾增加一段配置:

#添加mod_wsgi.so 模块
LoadFile "c:/python34/DLLs/python3.dll"
LoadModule wsgi_module "c:/python34/lib/site-packages/mod_wsgi/server/mod_wsgi.pyd"
WSGIPythonHome "c:/python34"

#指定myweb项目的wsgi.py配置文件路径
WSGIScriptAlias / D:/mysite/mysite/wsgi.py  

#指定项目路径
WSGIPythonPath D:/mysite  

<Directory D:/mysite/mysite>
<Files wsgi.py>
    Require all granted
</Files>
</Directory>  

Alias /static D:/mysite/static
<Directory D:/mysite/static>
    AllowOverride None
    Options None
    Require all granted
</Directory>  

2.打开django项目setting配置:

DEBUG = False

ALLOWED_HOSTS = [‘127.0.0.1‘,‘localhost‘]  #允许访问的ip。也可以用‘*‘表示,代表不受限制

最后,重启bin\httpd.exe,输入URL

欢迎转载,转载请注明出处:tmself的博客:http://www.cnblogs.com/shenh/p/7552722.html


时间: 2024-10-22 22:44:18

Django部署到Apache服务器的相关文章

Django项目部署到Apache服务器

本文讲述的是在阿里云服务器(ECS)上部署Django项目于Apache,服务器操作系统为ubuntu,公网Ip地址为123.56.30.151. 将Django部署到Apache服务器的原因 Django中的runserver只是一个很简单的web服务器,启动服务器常见的方法是通过Putty执行命令.虽然调试和测试方便,然而如果关闭了Putty或者退出命令,服务就停止了,并且不能承受许多用户同时使用的负载.所以需要将Django部署到生产级的服务器,这里选择Apache. ubuntu上部署详

django部署到apache上(非常重要的,3者版本要一致,是32位就都要是32位的)

网上把django部署到apache的文章挺多的,但是按照大家的操作,并没有一次就成功,还是遇到了一些问题,这里主要有以下几个情况. 1.网上找到的mod_wsgi的版本问题,导致动态库加载不上. 2.配置问题,因为涉及到apache.Python和mod_wsgi的版本,所以配置上可能也不太一样. 这里我把我遇到的问题和解决方案比较详细的写下来.失败经历可跳过. 失败经历 我的环境是python2.7.11 64位版本,apache我选择的是2.4.20x 64位版本,这里有一点必须要保证的是

django部署到apache上

网上把django部署到apache的文章挺多的,但是按照大家的操作,并没有一次就成功,还是遇到了一些问题,这里主要有以下几个情况. 1.网上找到的mod_wsgi的版本问题,导致动态库加载不上. 2.配置问题,因为涉及到apache.python和mod_wsgi的版本,所以配置上可能也不太一样. 这里我把我遇到的问题和解决方案比较详细的写下来.失败经历可跳过. 失败经历 我的环境是python2.7.11 64位版本,apache我选择的是2.4.20x 64位版本,这里有一点必须要保证的是

Django项目部署到Apache服务器上

之前写了把Django部署到XAMPP上,但是有bug,翻apache日志的时候发现会无法import _ssl,然后我就怒而直接装apache2了 配置方法大约和这篇文章差不多 安装必要的包 sudo apt-get update sudo apt-get install python-pip apache2 libapache2-mod-wsgi 然后还要保证WSGI模块在运行: sudo a2enmod wsgi 配置Python虚拟环境 为了不要修改系统python,事实上我怀疑系统py

部署Svn+Apache服务器

一.部署环境 操作系统:centos7.4yum已配置selinux已关闭 二.部署svn+apache 1.通过yum安装apache和svn [[email protected] ~]# yum install -y httpd subversion mod_dav_svn mod_dav_svn是apache访问svn的模块 2.验证 [[email protected] ~]# httpd -version Server version: Apache/2.4.6 (CentOS) Se

Vue项目打包部署到apache服务器

vue项目在开发环境下,让项目运行起来,是通过npm run dev命令,原理是在本地搭建了一个express服务器. 但是在服务器上就不是这样的,必须要通npm run build命令来对整个项目进行打包,打包后会在项目目录下生成一个dist文件夹,内容如下: 然后就是把这些文件丢到服务器上的某个文件夹下,我这里的文件夹名字是ibms 遇到的问题: 1. 直接去访问http://www.xxx.com/ibms/,会发现网页是白屏的,什么都没有,这就比较奇怪了,其实是因为资源加载的路径有问题!

django部署到apache

把Apache24/conf/httpd.conf替换成下面的内容,然后启动Apache24/bin/httpd.exe,在浏览器中输入127.0.0.8000即可.注意:我的项目名:hmbd,项目路径:E:/hmbd,Apache24路径:E:/Apache24,端口:8000.根据你的实际情况替换即可. --------------------------------------------------------------------------------------------- #

将 Django 应用程序部署到生产服务器

原文出自: http://www.ibm.com/developerworks/cn/opensource/os-django/ 比较有启发性质的一篇文章,会避免很多弯路 Django 是一个基于 Python 的开源 Web 应用程序框架,其目的是使创建数据库驱动的 Web 站点和 Web 应用程序更加容易.开发 Django 应用程序很简单,因为该框架包含了一个开发 Web 服务器.但是这个框架不适合在生产环境中使用,因此需要进一步将 Django 应用程序部署到 Web.在本文中,您将了解

Django部署Nginx服务器

Django部署方式有很多种,之前写过一篇部署在Apache上的博文:https://www.cnblogs.com/shenh/p/7552722.html .下文介绍的是通过Nginx来部署. Nginx是一个高性能的HTTP和反向代理服务,运用非常广泛.Django应用可以通过Nginx+uwsgi的方式进行部署.Nginx放置在服务器的最前端来接收所有web请求,统一管理,首先分离出静态请求,自己做处理.然后,Nginx将非静态请求通过uwsgi转发给Django,由Django处理.