wsgi模組在Django中配置

lanyu發表於2021-09-11

wsgi模組在Django中配置

在web伺服器的協議中,wsgi可以實現與伺服器的連線,我們可以把它看成是通訊的一種橋樑。那麼在Django中要想使用wsgi模組,是需要手動的在框架中國進行安裝和配置的。不過鑑於很多人對wsgi理解的不是很多,我們帶來了簡單的說明,然後就具體的配置例項在下面展開。

1、WSGI介紹

Python Web Server Gateway Interface,翻譯過來時Python web伺服器閘道器介面,實際上就是一種協議,我們的應用(Django,Flask)實現了WSGI,就可以配合實現了WSGI(uWSGI,gunicorn)的伺服器工作了。

2、配置例項

操作思路
 
        安裝 wsgi 模組
        配置一個簡單的虛擬主機
 
具體步驟
 
    安裝 mod_wsgi
 
          我為了省事,採用源安裝,如果需要3.4版本,可以採用原始碼安裝,參考這裡。
 
        wsgi主站
        編譯安裝wsgi
 
        $ sudo apt-get install libapache2-mod-wsgi   #安裝 mod_wsgi
 
        $ sudo dpkg -l libapache2-mod-wsgi           #檢視wsgi的版本
               結果: libapache2-mod 3.3-4build1
 
        $ a2enmod wsgi                               #驗證模組安裝正常
                Module wsgi already enabled
 
    驗證 wsgi
 
          為了驗證wsgi的正常使用,準備手工建一個最簡單的wsgi應用,實際就是一個py指令碼。
 
        在 /var/www/目錄下,建立一個名為 main.wsgi 檔案,內容如下:
 
           def application(environ, start_response):  
                status = '200 OK'  
                output = 'Hello World!n試試中文'  
                response_headers = [('Content-type', 'text/plain'),  
                    ('Content-Length', str(len(output)))]  
                start_response(status, response_headers)  
                return [output]
 
        在 /etc/apache2/sites-available/firstdj 中增加一行,同時可以取消 DocumentRoot 配置,修改後內容如下:
 
           <VirtualHost *:80>
                ServerName firstdj
 
                WSGIScriptAlias / /var/www/main.wsgi
 
           </VirtualHost>
 
        應用配置
 
        $ sudo service apache2 reload
 
        現在重新整理  能夠返回
 
            Hello World!
 
        說明 wsgi 解析正常

以上就是wsgi模組在Django中配置的方法,安裝和配置完成後,我們可以就web和Django框架進行有關的連線操作,大家看懂後就可以動手嘗試啦。更多Python框架指路:

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/2035/viewspace-2830643/,如需轉載,請註明出處,否則將追究法律責任。

相關文章