鍍金池/ 問答/Python  Linux/ flask+apache,每一個請求過來,是重新執(zhí)行flask文件嗎?

flask+apache,每一個請求過來,是重新執(zhí)行flask文件嗎?

flask部署在apache上,每一個請求過來的時候,是重新執(zhí)行app.py的文件嗎?
怎樣才能像直接運行flask文件一樣,讓它能在指定的地址和端口監(jiān)聽,而不用重新運行app.py

回答
編輯回答
我甘愿

apache的部署方式,我沒有使用過。我一般是是用nginx+uwsgi來部署flask的。

uwsgi --uid os373 --gid os373 --ini /var/www/pybolg/pyblog_uwsgi.ini

上面的代碼是使用uwsgi來部署我的flask程序的。執(zhí)行成功之后的log日志是這樣的。

圖片描述

所以,我個人認(rèn)為,你用uwsgi執(zhí)行了flask項目之后,項目的相關(guān)內(nèi)容已經(jīng)加載到了內(nèi)存。所以,不會每次url請求都重新執(zhí)行app.py。但是,但是.....

每個網(wǎng)頁瀏覽器要瀏覽url的時候,都要重新執(zhí)行一下 view 視圖函數(shù)里的內(nèi)容。

2017年11月5日 08:01
編輯回答
遲月

你要一直運行,考慮這樣:flask跑起來監(jiān)聽一個端口,比如3000,apache/nginx配置反向代理,把80端口代理到3000上。

參考配置:

<VirtualHost *:80>
    ServerName abc.com
    ProxyPass           "/" "http://localhost:3000/"
    ProxyPassReverse    "/" "http://localhost:3000/"
</VirtualHost>
2017年3月10日 05:56