当前位置:主页 > 文章资讯 > win10系统django部署到Apache web server的解决技巧

win10系统django部署到Apache web server的解决技巧

发布日期:2019-06-21 07:19 作者:萝卜家园 来源:www.luoboupan.com
  

 win10系统使用久了,好多网友反馈说关于对win10系统django部署到Apache web server设置的方法,在使用win10系统的过程中经常不知道如何去对win10系统django部署到Apache web server进行设置,有什么好的办法去设置win10系统django部署到Apache web server呢?在这里小编教你只需要1、先去网上下载个名叫这个的东西:mod_wsgi-3.4.ap22.win32-py2.7,里面有个文件是mod_wsgi.so,然后把这个copy到apache安装目录的modules文件下(默认安装目录是:C:program Files (x86)Apache software FoundationApache2.2modules) 下面两个配置中涉及路径的很容易搞错,如果是绝对路径的话要检查自己是否正确。 2、在django项目更目录下新建两个文件:就搞定了。下面小编就给小伙伴们分享一下对win10系统django部署到Apache web server进行设置的问题,针对此问题小编给大家收集整理的问题,针对此问题小编给大家收集整理具体的图文步骤:

如果你有python开发经验,在学习过程中应该不会有任何问题,基本上,django的代码并 没有使用一些黑色魔法(例如代码中的欺骗行为,某个实现解释或者理解起来十分困难)。 对你来说,学习django就是学习她的命名规则和Api。

配置思路

1、配置apache的httpd.conf文件

2、配置django相关配置文件

配置过程

其实配置生效针对不同的环境有不同的细节需要处理,网上的方案(包括本篇)都不是一定通用的,只是在某种环境下有效,但总体思路就是配置上述提及的两个配置文件。

部署django项目常用的两个方式是使用mod_python和mod_wsgi两种部署方式,这里我使用的是mod_wsgi。

1、先去网上下载个名叫这个的东西:mod_wsgi-3.4.ap22.win32-py2.7,里面有个文件是mod_wsgi.so,然后把这个copy到apache安装目录的modules文件下(默认安装目录是:C:program Files (x86)Apache software FoundationApache2.2modules)

下面两个配置中涉及路径的很容易搞错,如果是绝对路径的话要检查自己是否正确。

2、在django项目更目录下新建两个文件:

django.wsgi:

#coding=utf-8

import os

import sys

import django.core.handlers.wsgi

os.environ['dJAnGo_sETTinGs_ModULE'] = 'appops.settings'

app_apth = "d:/opsApp/appops"

sys.path.append(app_apth)

application = django.core.handlers.wsgi.wsGiHandler()

apache_django_wsgi.conf:

#Alias / d:/opsApp/appops

Alias /favicon.jpg d:/opsApp/appops/static/images/favicon.jpg

#wsGiscriptAlias /api "d:/opsApp/appops/appapi/handler.py"  #注意,这里在httpd.conf中写过的话这里就不用写了。

wsGiscriptAlias / "d:/opsApp/django.wsgi"

wsGipassAuthorization on

<directory "d:/opsApp/appops/appops">

order deny,Allow

Allow from all

</directory>

Alias /static/ d:/opsApp/appops/static/

<directory  d:/opsApp/appops/static/ >

order deny,allow

Allow from all

indexoptions Fancyindexing

</directory>

<directory  d:/opsApp/appops/ >

order deny,allow

Allow from all

indexoptions Fancyindexing

</directory>

<directory "d:/opsApp"> 

Allow from all

</directory>

目录结构如下:

3、编辑apache的配置文件httpd.conf(C:program Files (x86)Apache software FoundationApache2.2confhttpd.conf)

中间加上一句:

LoadModule wsgi_module modules/mod_wsgi.so

文件结尾新增下列配置:

Alias /static d:/opsApp/appops/static     #这是为了可以通过url来访问static文件

<Location "/static/">

       setHandler none

</Location><br>

 

<VirtualHost *:80>                       #配置虚拟目录

servername app.ops.test.com

#servername 192.168.18.74

 

documentRoot d:/opsApp

wsGiscriptAlias / d:/opsApp/django.wsgi

 

<directory />

order deny,allow

Allow from all

</directory>

<directory /apache>

Allow from all

</directory>

</VirtualHost>

 

<directory "d:/opsApp/appops/static/">    #这个一定需要,不然网页样式错误,css没有起作用

order deny,Allow

Allow from all

</directory>

重启下apache服务基本就oK了。

常见错误

访问失败时的错误会记录在apache日志里(C:program Files (x86)Apache software FoundationApache2.2logs),

1、静态资源不能访问,如css样式错乱等,需要在httpd.conf文件里增加配置:

<directory  d:/opsApp/appops/static/ >

order deny,allow

Allow from all

indexoptions Fancyindexing

</directory>

2、出现找不到模块的错,如no module named xxx等,主要有两个原因:

1)、路径错了

2)、文件命名跟django或python内部模块冲突了

精品APP推荐
  • 专题推荐
  • 萝卜家园系统推荐
  • 萝卜家园系统推荐