首页  >  问答  >  正文

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 天前317

全部回复(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
  • 取消回复