• Python & PyCharm & Django 搭建web开发环境(续)


    由于Django自带轻量级的server,因此在前篇博文中,默认使用该server,但实际生产中是不允许这么干的,生产环境中通常使用Apache Httpd Server结合mod_wsgi.so来做后端服务器。
     
    以下部署环境为:Python2.7.6
    1、安装httpd-2.2.25-win32-x86-no_ssl.msi
    2、将下载好的mod_wsgi.so 放在 D:Program FilesApache Software FoundationApache2.2modules 模块下。
    3、在新建的web工程 MyDjangoProject目录下新建 django.wsgi文件
    内容如下(相应的目录需要修改):
     1  
     2 import os
     3 import sys
     4  
     5 djangopath = "D:/Python27/Lib/site-packages/django/bin"
     6 if djangopath not in sys.path:
     7     sys.path.append(djangopath)
     8  
     9 projectpath = 'D:/workspace/MyDjangoProject'
    10 if projectpath not in sys.path:
    11     sys.path.append(projectpath)
    12  
    13 apppath = 'D:/workspace/MyDjangoProject/MyDjangoProject'
    14 if apppath not in sys.path:
    15     sys.path.append(apppath)
    16 os.environ['DJANGO_SETTINGS_MODULE']='MyDjangoProject.settings'
    17  
    18 from django.core.wsgi import get_wsgi_application
    19 application = get_wsgi_application()
    4、修改httpd.conf ,添加如下:
    1 LoadModule wsgi_module modules/mod_wsgi.so
    2 WSGIScriptAlias / "D:/workspace/MyDjangoProject/django.wsgi"
    3 <Directory "D:/workspace/MyDjangoProject/">
    4     Options FollowSymLinks
    5     AllowOverride None
    6     Order deny,allow
    7     Allow from all
    8 </Directory>
    ok,重启server,页面正常了。
    在部署的过程中,遇到一个异常,如下:
    1 The translation infrastructure cannot be initialized before the apps registry is ready
    原因是django.wsgi一开始按照较为古老的写法,改为新版本的写法就Ok了。
     
  • 相关阅读:
    百度编辑器 Ueditor使用记录
    JS实现继承的几种方式
    IOS 浏览器上设置overflow: auto 不可滚动
    throw new Error('Cyclic dependency' + nodeRep)
    如何理解springaop
    SQL连接的分类
    Eclipse创建Maven-Web项目及解决 jre版本和web.xml版本问题
    SQL的几种连接:内连接、左联接、右连接、全连接、交叉连接
    Centos7下面安装eclipse
    Centos7 下编译 Openjdk8
  • 原文地址:https://www.cnblogs.com/benshan/p/4445980.html
Copyright © 2020-2023  润新知