最近開始學著用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.soLoadModule proxy_ftp_module modules/mod_proxy_ftp.soLoadModule proxy_http_module modules/mod_proxy_http.so2. 配置 httpd-vhosts.conf 文件
<VirtualHost *:80>
ServerName http://b06.suosikeji.com #這是你要解析的網站地址ServerAdmin [email protected]ProxyRequests Off<Proxy *>Order deny,allowAllow from all</Proxy>proxypass / http://127.0.0.1:8002/ #這里是你的python站點的地址proxypassreverse / http://127.0.0.1:8002/ #同上</VirtualHost>3. 重啟 Apache
以上就是我的成功案例。
網上還查到一個方法是通過nginx配置反向代理,我試了一個多小時然后放棄了。之前沒接觸過nginx,所以出了問題也不知道該怎么解決。其中讓我氣得要吐血的一個問題是:
nginx文件夾始終為“只讀”,怎么改也改不了……導致nginx.exe無法運行……
要是哪位朋友有解決方案,望不吝賜教。關于反向代理的初步認識:
以我的網站為例,博客運行在服務器本地8002端口,即 http://127.0.0.1:8002。我要解析的域名為 http://b06.suosikeji.com。
由于服務器環境為Apache,所以外面無法直接訪問服務器上未在Apache中配置的某個端口,所以需要進行反向代理的配置。
配置好反向代理之后,當用戶訪問 http://b06.suosikeji.com/add 頁面時,服務器Apache收到請求,將其轉換為 http://127.0.0.1:8002/add 交給Python處理,并將Python處理出的結果返回,這樣用戶就看到了正確的頁面。
(今天下午亂查資料后的簡單理解,望對“反向代理”有正確深入理解的朋友指教。)
自學最痛苦的是碰到困難查資料很難直接查到有用的資料,廢話看了一大堆卻沒有一個明確的解決方案。我個人確實屬于那種不認真學習的,喜歡拿過什么來最好能直接就用。所以最近我在總結一些自學過程中的經驗,將以解決方案(+學習反思)的形式整理成文,慢慢分享出來。
希望我的總結能夠給其他自學者一些實際的幫助。
新聞熱點
疑難解答