最近開(kāi)始學(xué)著用Python+Tornado+MongoDB寫(xiě)網(wǎng)站,興起寫(xiě)了一個(gè)博客,覺(jué)得很有意思所以想掛在服務(wù)器上發(fā)布出去找大家一起玩。這個(gè)時(shí)候就遇到了問(wèn)題。
服務(wù)器是windows系統(tǒng),安裝的是Apache,所以需要配置Apache,使Apache同時(shí)支持PHP和Python。
廢話少說(shuō),提供有效方案一個(gè),照做即可:
1. 修改 httpd.conf 文件
將下列幾個(gè)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 #這是你要解析的網(wǎng)站地址
ServerAdmin me@chengkang.pw
ProxyRequests Off
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
proxypass / http://127.0.0.1:8002/ #這里是你的python站點(diǎn)的地址
proxypassreverse / http://127.0.0.1:8002/ #同上
</VirtualHost>
3. 重啟 Apache
以上就是我的成功案例。
網(wǎng)上還查到一個(gè)方法是通過(guò)nginx配置反向代理,我試了一個(gè)多小時(shí)然后放棄了。之前沒(méi)接觸過(guò)nginx,所以出了問(wèn)題也不知道該怎么解決。其中讓我氣得要吐血的一個(gè)問(wèn)題是:
nginx文件夾始終為“只讀”,怎么改也改不了……導(dǎo)致nginx.exe無(wú)法運(yùn)行……
要是哪位朋友有解決方案,望不吝賜教。
關(guān)于反向代理的初步認(rèn)識(shí):
以我的網(wǎng)站為例,博客運(yùn)行在服務(wù)器本地8002端口,即 http://127.0.0.1:8002。我要解析的域名為 http://b06.suosikeji.com。
由于服務(wù)器環(huán)境為Apache,所以外面無(wú)法直接訪問(wèn)服務(wù)器上未在Apache中配置的某個(gè)端口,所以需要進(jìn)行反向代理的配置。
配置好反向代理之后,當(dāng)用戶訪問(wèn) http://b06.suosikeji.com/add 頁(yè)面時(shí),服務(wù)器Apache收到請(qǐng)求,將其轉(zhuǎn)換為 http://127.0.0.1:8002/add 交給Python處理,并將Python處理出的結(jié)果返回,這樣用戶就看到了正確的頁(yè)面。
(今天下午亂查資料后的簡(jiǎn)單理解,望對(duì)“反向代理”有正確深入理解的朋友指教。)
自學(xué)最痛苦的是碰到困難查資料很難直接查到有用的資料,廢話看了一大堆卻沒(méi)有一個(gè)明確的解決方案。我個(gè)人確實(shí)屬于那種不認(rèn)真學(xué)習(xí)的,喜歡拿過(guò)什么來(lái)最好能直接就用。所以最近我在總結(jié)一些自學(xué)過(guò)程中的經(jīng)驗(yàn),將以解決方案(+學(xué)習(xí)反思)的形式整理成文,慢慢分享出來(lái)。
希望我的總結(jié)能夠給其他自學(xué)者一些實(shí)際的幫助。
新聞熱點(diǎn)
疑難解答
圖片精選