我不知道標題怎麼寫,就這樣吧。。。php
部署方案:css
Nginx: 處理靜態文件和代理html
Apache: 做爲後端,主要負責動態響應(其實fastCGI是個更好的選擇)python
目錄結構:web
DIR: /home/www/數據庫
|--> django_site: 做爲Django項目的根目錄django
|--> public_html: 默認根目錄,php及html文件放在這裏後端
|--> static_files: 靜態文件,包括js/css/img等等網站
|--> web_logs: 日誌文件,Nginx和Apache的都放在裏面ui
Nginx配置:
監聽127.0.0.2:80 www.d2s2.com
默認根目錄 /home/www/public_html/
目錄 / 若是不是文件的話,直接proxy_pass到upstream django_site (也就是127.0.0.1:8000)
目錄 /rockmongo/ proxy_pass到127.0.0.1:8080
目錄 /static/ alias /home/www/static/
其餘,若是遇到php文件都proxy_pass到127.0.0.1:8080
Apache配置:
兩個虛擬主機分別爲127.0.0.1:8000, 127.0.0.1:8080
127.0.0.1:8000經過mod_wsgi(django.wsgi), 負責python環境
127.0.0.1:8080經過mod_php默認的提供php環境
PS:用fastCGI代替Apache,其實道理也是同樣的
rockmongo之於MongoDB,就至關於phpMyAdmin之於MySQL。
固然,有個名字更像的叫做phpMoAdmin,好像不太喜歡。
MongoDB如今也有針對Django的數據庫backends,可是功能頗有限。
固然,經過ODM(至關於SQL的ORM), 好比mongo-engine 和 mongokit, 可以實現
大部分的需求. 可是, 我的感受仍是直接pyMongo好用.
Django的forms功能很強大, 經過一個應用插件forms_builder基本上能夠知足個人要求.
也就是說我把forms原型保存到MySQL中,包括用戶管理等等,只要是有定型結構的都
將其原型放在MySQL中,而提交的大量數據,包括媒體文件都放到MongoDB中。
還有一個應用插件treemenus, 用它來管理樹狀結構,包括信息分類,網站視圖等等。
若是你想要個博客頁面,用flatpages就夠了。
對於SQL與NoSQL的混合應用,這是個取所長罷了,沒什麼複雜的,需求驅動。
若是是移動設備,你能夠經過REST API訪問或傳送數據到MongoDB,這是一個很方便天然
的途徑。(mongolabs就是這樣作的)
我發現,用MongoDB作短網址服務也是很方便的。
:)