這篇文章主要介紹了flask如何結(jié)合apache,具有一定借鑒價(jià)值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。
為衛(wèi)東等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計(jì)制作服務(wù),及衛(wèi)東網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為成都網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)、衛(wèi)東網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠(yuǎn)!flask自帶的開發(fā)Web服務(wù)器表現(xiàn)很差,響應(yīng)慢,而且直接通過nginx進(jìn)行反向代理,經(jīng)常無法響應(yīng)請求。有兩個(gè)可以在生產(chǎn)環(huán)境中使用、性能良好且支持Flask程序的服務(wù)器,分別是Gunicorn和uWSGI,但是這兩個(gè)模塊不提供對window的支持。
因此我們需要使用mod_wsgi這個(gè)模塊使得flask能夠在apache上進(jìn)行部署,mod_wsgi模塊是一個(gè)python寫的Apache的FastCGI模塊。 (推薦學(xué)習(xí):apache使用)
下載完畢后解壓得到Apache24,打開進(jìn)入conf文件,用文本打開,我這里采用Atom打開。
現(xiàn)在說明一下,我們需要修改的地方:
1、ServerRoot "c:/Apache24":修改成自己的目錄地址
2、Listen 8080:端口號配置,部分用戶可能會發(fā)現(xiàn)自己的80端口占用,可能是IIS或者SQLserver占用,我們可以通過修改這個(gè)端口號,方便測試
3、修改目錄授權(quán)
原本的:
<Directory /> AllowOverride none Require all denied </Directory>
修改后:
<Directory /> Options FollowSymLinks AllowOverride None Order deny,allow Allow from all </Directory>
4、修改文檔根路徑為自己的文件路徑
DocumentRoot "c:/Apache24/htdocs" <Directory "c:/Apache24/htdocs">
5、mod模塊配置(重點(diǎn))
(1)首先對下載下來的mod.whl文件進(jìn)行安裝:
pip install <文件絕對路徑>
(2)安裝成功后,運(yùn)行下面的命令:
mod_wsgi-express module-config
(3)上面這條命令成功運(yùn)行后,我們可以得到三條信息:
(4)然后使用這三條信息代替.so文件,加入到apache的配置文件中:
6、配置站點(diǎn)(重點(diǎn)):
# <VirtualHost> definition. These values also provide defaults for # any <VirtualHost> containers you may define later in the file.
因?yàn)槲沂且粋€(gè)不是很懂配置apache的人,我一開始看到參考鏈接中的配置<VirtualHost>不知道放在哪里,所以可以通過全文搜索,搜到了這句話,我可以確定將這個(gè)<VirtualHost>放在文件最底部。
將下面這段復(fù)制到conf文件的最底部,并且修改路徑為自己的路徑
<VirtualHost *:8080 > ServerAdmin example@xx.com DocumentRoot E:\Environment\Apache\Apache24\text_web <Directory "E:\Environment\Apache\Apache24\text_web"> Order allow,deny Allow from all </Directory> WSGIScriptAlias / E:\Environment\Apache\Apache24\text_web\test.wsgi </VirtualHost>
上面的站點(diǎn)配置說明:
(1)項(xiàng)目路徑(不一定要放在apache目錄下):
DocumentRoot E:\Environment\Apache\Apache24\text_web
(2)wsgi模塊啟動(dòng)文件(重點(diǎn)):
WSGIScriptAlias / E:\Environment\Apache\Apache24\text_web\test.wsgi
注意:這里的“/”是必須的,表示url前綴,后面可以根據(jù)需求修改。
(3)項(xiàng)目路徑權(quán)限:設(shè)置為允許全部
<Directory "E:\Environment\Apache\Apache24\text_web"> Order allow,deny Allow from all </Directory>
到這里我們的httpd.conf文件已經(jīng)配置完成了。
二、下面進(jìn)入對flask項(xiàng)目的配置:
項(xiàng)目目錄:
1、test.wsgi文件說明:
import sys sys.path.insert(0, "E:/Environment/Apache/Apache24/text_web") #項(xiàng)目路徑
from test import app #將我們的flask項(xiàng)目project名引入
application = app #applcation一定不能改成別的,因?yàn)閣sgin在解析這個(gè)文件時(shí),只認(rèn)applcation(參考鏈接)
2、flask的主文件
from flask import Flask app = Flask(__name__) @app.route('/hello') def hello_world(): return 'Hello World!' if __name__ == '__main__': app.run()
到此,我們的項(xiàng)目配置基本完成,這里特別需要注意的是在wsgi文件中的項(xiàng)目引入。
三、啟動(dòng)或安裝apache
啟動(dòng)管理員模式的cmd進(jìn)入到Apache24的bin文件路徑下:
安裝apache為系統(tǒng)服務(wù):
httpd -k install
啟動(dòng)apache:
httpd -k start
我發(fā)現(xiàn)有的電腦可以直接通過打開httpd.exe直接運(yùn)行,而不需要將httpd安裝入系統(tǒng)服務(wù)。
其他可能用到的apache命令:
停止apache服務(wù):
httpd -k stop
重啟apache服務(wù):
httpd -k restart
感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享flask如何結(jié)合apache內(nèi)容對大家有幫助,同時(shí)也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,遇到問題就找創(chuàng)新互聯(lián),詳細(xì)的解決方法等著你來學(xué)習(xí)!
網(wǎng)站名稱:flask如何結(jié)合apache-創(chuàng)新互聯(lián)
網(wǎng)頁鏈接:http://aaarwkj.com/article4/cogjie.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供建站公司、營銷型網(wǎng)站建設(shè)、網(wǎng)站排名、品牌網(wǎng)站建設(shè)、手機(jī)網(wǎng)站建設(shè)、關(guān)鍵詞優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容