iT邦幫忙

3

使用Django架站,請問為何還須搭配Apache?

請問一下,小弟從Django的官網教學上,覺得Django本身已經提供了完整的web service,但從一些市售的教學工具書上看到,還需搭配Apache,除了一些安全性上的問題,並未多提為什麼不能只用Django來架設網站?
小弟因為還是個菜鳥,問題可能有點蠢,還請見諒;

建議大大如果是菜鳥的情況下還是要從部署uwsgi & nginx 做起步, 熟悉環境部署架設等等的操作,進而提升至用docker去部署您的環境, 以這樣架構基本上你只要置換裡面django project的程式碼你就可以無痛移機
https://github.com/twtrubiks/docker-django-nginx-uwsgi-postgres-tutorial
7
bizpro
iT邦大師 1 級 ‧ 2017-04-06 11:39:00
最佳解答

Django 的 runserver可以啟動一個非生產等級(non-production)的網站伺服器, 算是低階的嵌入式網站伺服器, 沒有資安與效能的考量, 只是提供開發測試用的, 因此在生產等級的環境中, 建議使用生產等級的網站伺服器: Nginx, Apache,...等等.

allpower iT邦新手 5 級 ‧ 2017-04-06 12:22:38 檢舉

感謝您的回答,這樣我大致上了解了

2
James
iT邦大師 7 級 ‧ 2017-04-06 11:47:07

內建web service是開發測試用的。
和專門的web service比較大概就是效能上和進階設定的差別。
如果沒有特別的設定需求,使用人數也不多,用內建的應該也可以。

allpower iT邦新手 5 級 ‧ 2017-04-06 12:22:47 檢舉

感謝您的回答,這樣我大致上了解了

2
souda
iT邦研究生 3 級 ‧ 2017-04-06 14:06:12

其實用甚麼平台取決於你所需要的應用,小硬體就用小平台大硬體就用大平台.
Django 我本身也用來做Webservice跑起來很快若再搭配ORM MSSQL MYSQL效能蠻高.
雖然各家有個家的ORM但是Django算是開發快效率不差的平台.

沒有不好的軟體只有適不適合,預祝你學習順利.

看更多先前的回應...收起先前的回應...
allpower iT邦新手 5 級 ‧ 2017-04-06 15:32:17 檢舉

感謝您的分享~其實我是有打算實際應用的想法,主要是用在學校單位,畢業生流向的調查,說大不大,說小也不小,同時上線人數估計也不會超過100位,但因為沒經驗,又怕django的runserver負載不了。

souda iT邦研究生 3 級 ‧ 2017-04-06 15:38:37 檢舉

Django 可以負荷的!! 主要是你的資料庫是選擇哪種呢?

allpower iT邦新手 5 級 ‧ 2017-04-06 15:57:16 檢舉

oracle 9i,請問為甚麼會問資料庫呢?這部分我大概有上網查一下,連9i似乎也是ok的,但還沒實際測試就是。

souda iT邦研究生 3 級 ‧ 2017-04-06 16:01:47 檢舉

只要不是檔案型資料庫就行了,速度你在測一下?有跑ORM嗎?

allpower iT邦新手 5 級 ‧ 2017-04-06 16:23:24 檢舉

哈~還沒,這都還在初步構想階段而已,請問跑ORM的意思是實現MVC中Model的部分嗎?

souda iT邦研究生 3 級 ‧ 2017-04-06 16:36:20 檢舉

ORM (Object Relational Mapping) 簡單說整合個資料庫的SQL語法,這樣你未來更換資料庫就不用重新改SQL.

froce iT邦大師 2 級 ‧ 2017-04-06 16:37:15 檢舉

Django的models存取就是ORM方式的。
當然你要自己寫SQL也行。
另外要放到網際網路真的不建議用runserver去跑...
同時上線數不等於實際連線數啊。

allpower iT邦新手 5 級 ‧ 2017-04-06 16:56:50 檢舉

感謝各位的分享指教,我心裡大概有個底了,非常感謝!

3
froce
iT邦大師 2 級 ‧ 2017-04-06 16:33:32

用django內建的server,連線數一大就不行了。
另外安全性什麼的也很差。

另外我建議用 uwsgi + nginx 來發布,可以參考下面。
https://blog.liang2.tw/posts/2016/05/django-deploy-uwsgi-nginx-systemd/

allpower iT邦新手 5 級 ‧ 2017-04-06 16:58:19 檢舉

謝謝~uwsgi+nginx我書上也有提到,而網路上也是很推薦這組合。

我要發表回答

立即登入回答