谢谢回答这个问题!
新手自学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一章节对其原理有点云里雾里。
非常感谢!
질문하신 내용을 보면 이런 부분을 많이 접하셨을 텐데요.
조금 혼란스러운 느낌이 들고, 소프트웨어의 일부 개념이나 구체적인 기능이 명확하지 않습니다.
AWS는 서버 호스팅과 비슷한 곳으로, 독립적으로 접속할 수 있는 컴퓨터를 갖고 있는 것과 같습니다.
Apache와 nginx는 서버 카테고리에 속하고, Docker는 컨테이너 및 통합관리 카테고리에 속합니다.
1) 말씀하신 Linux와 Apache의 관계는 시스템(Linux)에서 서비스(Apache)를 실행하는 것과 같습니다. 웹사이트 배포는 언어 환경에 따라 다릅니다. 여기서는 Python을 사용하는 것 같습니다. Python 웹 서버 구축에 대한 정보는 인터넷에 많이 나와 있을 것입니다.
2) AWS에 있던 도커를 한 번 사용해본 적이 있는데, 신청한 저장 공간이 너무 작아서 다시는 사용할 수가 없었습니다. 나중 단계에서도 확실히 배울 것입니다. 초보자가 시도하는 것은 권장되지 않지만 반대하지는 않습니다.
3) 서버를 배포하는 경우 혼자 놀고 운영할 서버가 수백, 수천 개가 없기 때문에 docker를 사용하지 않는 것이 좋습니다. 가장 간단한 것부터 시작하세요. 로컬로 구축하는 방법은 AWS에서 수행할 수 있습니다.
4) 저는 Python을 알고 있고, 그것을 배우는데 시간을 할애할 계획이 있어서 문법만 봤기 때문에 대답하기가 불편합니다.
5) Restful 부분은 Python을 제쳐놓고 먼저 배우고, Restful이 무엇인지 먼저 알고, Python에 Restful을 구현할 수 있는 프레임워크가 있는지 확인하는 것이 좋습니다.
LZ의 문제는 다양한 주제를 다루고 있습니다. 사실, 여러 개의 개별 질문으로 질문하는 것이 더 안정적입니다. 하지만 대답해 보도록 하겠습니다. 벽돌을 던져보세요.
풀스택 파이썬[1]을 살펴보세요. 내부 사진이 더 직관적이네요(SF에는 매핑 기능이 망가진 것 같습니다). Load Balancer와 같은 확장 기능은 부족하지만 다른 기능을 참조할 수 있습니다.
Docker는 인기가 많습니다. 그리고 계속 인기를 끌 가능성이 높습니다. 하지만 이번 화재가 이렇게 큰 인기를 끈 것은 업계가 마이크로 서비스를 받아들였기 때문이라고 생각합니다. 아키텍처가 전통적이라면 별 의미가 없습니다. 물론 docker는 다른 많은 일을 할 수 있고 놀면서 배우는 데에는 아무런 문제가 없습니다.
AWS North America는 이미 Docker를 직접 지원하고 있습니다. 아직 베이징에는 없습니다.
사실 이 질문은 MySQL이나 MongoDB를 선택하는 것에 관한 질문입니다. 신청서를 참조하세요.
REST를 완전히 이해하려면 물론 Fielding [2]를 읽어야 합니다. 그러나 그것은 더 이론적인 것입니다. 사실 사용에 대한 기준은 없습니다. REST 개념을 완벽하게 준수하는 것들은 반드시 사용하기 쉽지 않을 수 있습니다. 잘 작동하는 것은 타협이 있을 가능성이 높습니다. 내 생각은 먼저 그것이 충분한 지 확인하는 것입니다.
http://www.fullstackpython.com/deployment.html
Fielding, R. T.; Taylor, R. N.(2000)