Apache wsgi Flask配置細節

2021-07-03 13:10:17 字數 3481 閱讀 9588

本文使用xampp配置 flask 執行環境。python解析使用mod_wsgi模組。理論上django也可以使用。

----------------------

1、安裝apache。一般使用xampp就可以了。(

注意檢視apache版本,這個不注意,後面幾乎無法使用)

~gohlke/pythonlibs/#mod_wsgi 。解壓找到so檔案放在xampp/apache/conf/modules/mod_wsgi.so。

(注意匹配自己的python版本和apache版本

3、配置apache虛擬主機和埠

比如使用8000埠:

在loadmodule最後一行,新增 

loadmodule wsgi_module modules/mod_wsgi.so

找到httpd-vhosts.conf

一行,確認去掉頭部的#,如果沒有則自己新增。

這個檔案裡面一般都是使用#注釋掉了。

我們直接在最後這麼寫:

apache 2.4版本

listen 8000

namevirtualhost *:8000

servername test.com

serveralias www.test.com

serveradmin [email protected]

documentroot "f:/web"

errorlog "f:/web/error.log"

wsgiscriptalias / f:/web/run.wsgi

alias /static f:/web/static

#options +execcgi

#addhandler cgi-script .py

options -indexes +followsymlinks

require all granted  # ver 2.4

allowoverride all

wsgiscriptreloading on

apache 2.2及以下版本

listen 8000

namevirtualhost *:8000

servername test.com

serveralias www.test.com

serveradmin [email protected]

documentroot "f:/web"

errorlog "f:/web/error.log"

wsgiscriptalias / f:/web/run.wsgi

alias /static f:/web/static

#options +execcgi

#addhandler cgi-script .py

options -indexes +followsymlinks

order deny,allow  # ver 2.2

allow from all # ver 2.2

allowoverride all

wsgiscriptreloading on

4、編寫run.wsgi啟動指令碼

flask: (已測試可用)

run.wsgi檔案內容為:

測試py檔案為test.py:

from flask import flask 

def hello_world():

return "hello world!"

if __name__ == '__main__':

django:(未做測試)

ru.wsgi檔案內容:

5、修改hosts檔案:

為了使用方便,將虛擬**對映為本地位址,所以需要修改hosts檔案。如果沒這個需求也可以不改,直接使用ip:port方式訪問.

c:\windows\system32\drivers\etc\hosts

127.0.0.1  test.com

至此,配置完成,開啟xampp,啟動apache,若沒有錯誤資訊,可以看到:

如圖,8000埠已經啟動起來,輸入 或者  就可以看到 hello world! 了。

-------------常見問題集合(參考)-------------------

如果出問題,檢視日誌 f:/web/error.log 或缺省的log檔案。

apache ah01630: client denied by server configuration錯誤解決方法

出現這個錯誤的原因是,apache2.4 與 apache2.2 的虛擬主機配置寫法不同導致。

apache2.2的寫法:

servername fdipzone.demo.com  

documentroot "/home/fdipzone/sites/www"  

directoryindex index.html index.php  

options -indexes +followsymlinks  

allowoverride all  

order deny,allow  

allow from all  

如果在2.4中使用以上寫法就會有apache ah01630: client denied by server configuration錯誤。

解決方法,apache2.4中

order deny,allow  

allow from all  

allow from host ip  

修改為

require all granted  

require host ip  

修改後的配置如下:

servername fdipzone.demo.com  

documentroot "/home/fdipzone/sites/www"  

directoryindex index.html index.php  

options -indexes +followsymlinks  

allowoverride all  

require all granted  

----------------------------

一些隱藏的彩蛋:

python import site failed/no module named site

在環境變數中新增,pythonhome, 值為你的python路徑,比如c:/python27

詳解Spring框架註解掃瞄開啟之配置細節

前言 spring框架對bean進行裝配提供了很靈活的方式,下面歸納一下主要的方式 而自動裝配實現就需要註解掃瞄,這時發現了兩種開啟註解掃瞄的方式,即和 下面歸納一下這兩種方式的異同點 註解掃瞄是針對已經在spring容器裡註冊過的bean 不僅具備的所有功能,還可以在指定的package下面掃瞄對...

「細妹子」老師

這幾年,我們學校來了不少新老師,大多剛剛畢業不久。細妹子 老師們自己還是大孩子,再帶一群小孩子,有趣的故事就多了。她們充滿熱情,對她們來說,一切都是新鮮的,好玩的。剛剛從教的時候,她們大多還沒有擺出老師的架勢,會跟小孩子打成一片,玩在一起。小孩子親近她們,也不怕她們。我徒弟珍,一下課,就總被學生簇擁...

Spring Cloud Stream使用細節

上篇文章我們看了spring cloud stream的基本使用,小夥伴們對spring cloud stream應該也有了乙個基本的了解,但是上篇文章中的訊息我們是從rabbitmq的web管理頁面發來的,如果我們想要從 中傳送訊息呢?本文我們就來看看spring cloud stream的一些使...