Apache同時支援PHP和Python的配置方法_Linux

來源:互聯網
上載者:User

最近開始學著用Python+Tornado+MongoDB寫網站,興起寫了一個部落格,覺得很有意思所以想掛在伺服器上發布出去找大家一起玩。這個時候就遇到了問題。

伺服器是windows系統,安裝的是Apache,所以需要配置Apache,使Apache同時支援PHP和Python。

廢話少說,提供有效方案一個,照做即可:

1. 修改 httpd.conf 檔案

將下列幾個Module前的注釋符 # 去掉

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
LoadModule proxy_http_module modules/mod_proxy_http.so

2. 配置 httpd-vhosts.conf 檔案

<VirtualHost *:80>
ServerName http://b06.suosikeji.com   #這是你要解析的網站地址
ServerAdmin me@chengkang.pw
ProxyRequests Off
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
proxypass / http://127.0.0.1:8002/   #這裡是你的python網站的地址
proxypassreverse / http://127.0.0.1:8002/  #同上
</VirtualHost>

3. 重啟 Apache

以上就是我的成功案例。

網上還查到一個方法是通過nginx配置反向 Proxy,我試了一個多小時然後放棄了。之前沒接觸過nginx,所以出了問題也不知道該怎麼解決。其中讓我氣得要吐血的一個問題是:

nginx檔案夾始終為“唯讀”,怎麼改也改不了……導致nginx.exe無法運行……
要是哪位朋友有解決方案,望不吝賜教。

關於反向 Proxy的初步認識:

以我的網站為例,部落格運行在伺服器本地8002連接埠,即 http://127.0.0.1:8002。我要解析的網域名稱為 http://b06.suosikeji.com。

由於伺服器環境為Apache,所以外面無法直接存取伺服器上未在Apache中配置的某個連接埠,所以需要進行反向 Proxy的配置。

配置好反向 Proxy之後,當使用者訪問 http://b06.suosikeji.com/add 頁面時,伺服器Apache收到請求,將其轉換為 http://127.0.0.1:8002/add 交給Python處理,並將Python處理出的結果返回,這樣使用者就看到了正確的頁面。

(今天下午亂查資料後的簡單理解,望對“反向 Proxy”有正確深入理解的朋友指教。)

自學最痛苦的是碰到困難查資料很難直接查到有用的資料,廢話看了一大堆卻沒有一個明確的解決方案。我個人確實屬於那種不認真學習的,喜歡拿過什麼來最好能直接就用。所以最近我在總結一些自學過程中的經驗,將以解決方案(+學習反思)的形式整理成文,慢慢分享出來。

希望我的總結能夠給其他自學者一些實際的協助。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.