記一波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-VC15\Apache24"    # 解壓后的文件夾
……  
Listen 127.0.0.1:8080    #監聽端口號  
……  
ServerName 127.0.0.1:8080      
……  
DocumentRoot "E:\httpd-2.4.33-Win64-VC15\Apache24\htdocs"   #對應apche文件夾下的htdocs文件夾,以下同  
  
<Directory "E:\httpd-2.4.33-Win64-VC15\Apache24\htdocs">  
……  
ScriptAlias /cgi-bin/ ""E:\httpd-2.4.33-Win64-VC15\Apache24\cgi-bin"  
……  
<Directory "E:\httpd-2.4.33-Win64-VC15\Apache24\cgi-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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM