• 记一波windows配置apache+django+uvicorn+asgi


    由于客户的服务器是windows端,所以采用了apache server来部署,同时查了网上很多资料,apache暂时不支持asgi启动,所以就用了uvicorn来启动asgi。
    以下是配置的一些重点步骤,前提是django可以正常启动。

    Apache部署

    1.打开conf/httpd.conf,编辑下列配置,测试apache

    ServerRoot "E:httpd-2.4.33-Win64-VC15Apache24"    # 解压后的文件夹
    ……  
    Listen 127.0.0.1:8080    #监听端口号  
    ……  
    ServerName 127.0.0.1:8080      
    ……  
    DocumentRoot "E:httpd-2.4.33-Win64-VC15Apache24htdocs"   #对应apche文件夹下的htdocs文件夹,以下同  
      
    <Directory "E:httpd-2.4.33-Win64-VC15Apache24htdocs">  
    ……  
    ScriptAlias /cgi-bin/ ""E:httpd-2.4.33-Win64-VC15Apache24cgi-bin"  
    ……  
    <Directory "E:httpd-2.4.33-Win64-VC15Apache24cgi-bin">  
        AllowOverride None  
        Options None  
        Require all granted  
    </Directory>
    

    2.下载安装mod_wsgi:http://www.lfd.uci.edu/~gohlke/pythonlibs/

    下载完成之后进入命令行进行安装,然后输入 mod_wsgi-express module-config

    LoadFile "d:/python36/python36.dll"
    LoadModule wsgi_module "d:/python36/lib/site-packages/mod_wsgi/server/mod_wsgi.cp36-win_amd64.pyd"
    WSGIPythonHome "d:/python36"
    

    3.重新编辑conf/httpd.conf进行编辑

    LoadFile "d:/python36/python36.dll"
    LoadModule wsgi_module "d:/python36/lib/site-packages/mod_wsgi/server/mod_wsgi.cp36-win_amd64.pyd"
    WSGIPythonHome "d:/python36"
    
    指定项目的wsgi.py配置文件路径,这个py文件是在你的Django项目中
    WSGIScriptAlias / d:/picture/picture/wsgi.py
    
    指定项目目录,即你的Django项目路径
    
    WSGIPythonPath  d:/picture
      
    <Directory d:/picture/picture>  
    <Files wsgi.py>  
        Require all granted  
    </Files>  
    </Directory>  
    
    

    进入 bin 目录下启动httpd.exe 文件,编辑,然后通过浏览器访问 127.0.0.1:8080

    uvicorn 安装

    pip install uvicorn
    使用方法:将lib库中的asyncio.py add_reader方法中方法体改为pass
    运行命令 uvicorn project_name.asgi:application

  • 相关阅读:
    【iOS CocoaPods篇】iOS CocoaPods一些特别的用法 指定版本、版本介绍、忽略警告
    【iOS CocoaPods篇】iOS 10.10 10.11 10.12 安装升级CocoPods
    iOS程序中的内存分配 栈区堆区全局区(转)
    retain和strong、assign和weak的区别(转)
    (ios实战):retain,copy,assign及autorelease ,strong,weak(转)
    malloc()与 alloc()区别 (转)
    iOS开发--KVC&KVO
    iOS开发之支付功能概述(转)
    disptch_after 自递归
    makeObjectsPerformSelector 方法的用法
  • 原文地址:https://www.cnblogs.com/jimmyhe/p/11884692.html
Copyright © 2020-2023  润新知