首頁  >  問答  >  主體

python - Web -- 如何在AWS部署网站?

谢谢回答这个问题!
新手自学python+flask,已经写好了想部署试试,但是不知道哪种方案好。了解到有AWS,但又看到有Apache,Nginx,Docker等等的内容,所以问题如下:

1)部署网站究竟是如何实现?了解基本HTTP,但服务器Apache等等这些,Linux,它们关系是怎样的,我应该去查找哪方面的资料?我在书店逛来逛去,比如《高性能Nginx》,又来一本《鸟叔的Linux搭建服务器》(已入基础本),看不出个所以然。
2)看到docker介绍非常简便,准备入坑,但新手真的合适入这个坑吗(专精的意思)?会不会?
3)我目前的理解是想利用一些云平台部署这个网站(目测AWS),然后在上面用linux,再用docker。现在应从哪里入手最好?
4)问个不相关的问题,Flask的SQLAlchemy在应付多表join和多对多关系时变得极其绕和繁杂,想尝试Mongodb+(ORM)mongoengine,据说这个ORM坑较多,有何好推荐?
5)对了不介意的话可以推荐一下相关Rest ful的综合性基础资料吗?看Flask web一章节对其原理有点云里雾里。

非常感谢!

怪我咯怪我咯2712 天前318

全部回覆(2)我來回復

  • 大家讲道理

    大家讲道理2017-04-17 17:44:23

    看你的問題,你應該接觸這方面已經算很多了。

    感覺有些混亂,裡面有些概念或軟體具體的作用沒有弄清楚。

    AWS只是一種類似伺服器託管的地方而已,相當於擁有一台可以獨立存取的電腦。
    Apache,nginx才屬於伺服器範疇,Docker屬於容器,屬於整合管理的範疇。

    1).至於你提到的Linux和Apache的關係,好比在系統(Linux)上運行了一個服務(Apache)而已。網站部署,要看你的語言環境的,感覺你這裡是Python,你應該去了解python web伺服器搭建相關的,網路上的資料應該很多。
    2).我用過一次docker,就是在AWS上使用的,我申請的存儲空間很小,用了一次就不敢再在上面使用了。後期,肯定還是會學習的,不建議新手嘗試,但也不反對。
    3).如果是部署伺服器的話,因為你只是自己玩玩,沒有成百上千的伺服器需要操作,不建議使用docker,就從最簡單的開始。你本地怎麼搭建的,AWS上就怎麼操作即可。
    4).我了解過Python,也曾打算花時間學一下,也僅僅是看過文法而已,所以不方便回答。
    5).restful部分,建議你先拋開Python來學,先知道什麼是restful,然後再看Python是否有實現restful那一套東東的框架之類的。

    回覆
    0
  • PHP中文网

    PHP中文网2017-04-17 17:44:23

    LZ的問題涉及很廣。其實更可靠的是分成幾個單獨的問題來問。但是還是試著回答下吧。拋磚。

    1. 可以看一下 full stack python [1]。裡面那個圖比較直觀些(sf看起來像貼圖功能殘了)。雖然裡面缺了Load Balancer這些scaling的東西,但它還是可以參考的。

    2. docker很火熱。而且很可能會一直火紅下去。但是我覺得這火燒得如此旺很大程度上是因為業界接受了micro service這個東東。如果架構傳統的話,用的意義不大。當然docker可以做很多它的事情,邊玩邊學是沒錯的。

    3. AWS北美已經直接支援docker。北京還沒有。

    4. 其實這個問題是選MySQL或是MongoDB的問題。看應用。

    5. 要完全理解REST當然要看Fielding [2]。但是比較偏理論。其實使用起來大家也沒有一個標準。完全符合REST理念的不一定好用。好用的很可能就有妥協。我的想法是先保證夠用吧。


    1. http://www.fullstackpython.com/deployment.html

    2. Fielding, R. T.; Taylor, R. N. (2000)

    回覆
    0
  • 取消回覆