flask 8

[방화벽 설정] 외부에서 접속 허용하기

이전 회사에서는 AWS를 사용했다. 그래서 내부IP를 사용하면 어차피 외부에서 접속이 안되서 공인IP 위주로 사용했었다. AWS를 사용하다보니 그냥 인바운드만 설정하면 알아서 해당 포트가 열리니 크게 신경쓰지않았던 부분인데, 지금 이직한 회사는 자체 서버를 운영하고있다. 물론 AWS 사용하는게 어떻냐고 조심스럽게 얘기했지만 뭐..... 지금 쓰는 서버 사양이 나쁘지 않다는 이유로 기각당했다. 각설하고, flask로 서버에 띄워놓은 프로젝트를 상용으로 사용하려고 API 스펙을 전달하니 로컬에서는 잘 접속이 되는데 외부접속이 안된다고 연락이 왔다. 분명 ufw allow는 특정 port는 적용했어도, ip는 모든 ip를 allow 해놓은 상태였는데, 접속이 안된다고하니 고민을 좀 해봤다. ufw를 외부 ip..

linux 2022.11.24

[API] API가 뭐죠?

API? 웹 개발을 하다보면 참 많이 듣게되는 단어 API. 혼자 flask니 django니 개발할 때는 나 혼자서 기능 만들고 불러다쓰면 다른건 신경 안 써도 됐는데, 어찌 현업으로 나와보니 API 스펙좀 달란다. 처음 저 말을 들었을 때, 참 많이 당황했다. API ( Application Programming Interface ). AWS에서는 아래와 같이 정의한다. 더보기 API는 무엇을 의미하나요? API는 Application Programming Interface(애플리케이션 프로그램 인터페이스)의 줄임말입니다. API의 맥락에서 애플리케이션이라는 단어는 고유한 기능을 가진 모든 소프트웨어를 나타냅니다. 인터페이스는 두 애플리케이션 간의 서비스 계약이라고 할 수 있습니다. 이 계약은 요청과 ..

python/기초 2022.09.29

[Ubuntu] Flask / Django 등을 서비스로 등록하자

Python으로 웹 개발을 진행하면 그런 생각이 든다. nohup으로 상용 배포하면 안될까? 답은 란다. https://dailyheumsi.tistory.com/21 위의 링크에 설명되어있다. 간략하게 설명하자면.... 보안상의 이슈때문이란다. 그래서 작성해보는 서비스 등록하는 방법.! flask나 django 모두 gunicorn 이라는 middleware를 통해서 서비스 할 수 있다. 더보기 나는 지유니콘 이라고 발음하는데 어디는 구니콘이라고도 발음하더라. 이미 지-유니콘이 입에 붙어서 구니콘이 어색하지만 뭐 읽는사람 마음 그럼 일단 gunicorn을 설치해야하는데, pip install gunicorn worker로, 해당 app를 몇 개의 worker에 할당할 것인지 정하는 변수이고, --bin..

linux 2022.07.28

[파이썬 웹] flask를 이용한 웹페이지

https://github.com/giho5374/flask_web 간단하게 웹페이지를 만들어 보았다. registerform은 https://velykitty-itnote.tistory.com/43 여기에 있는 폼을 조금 수정했다. db설계 -> 회원가입 -> 로그인 -> 글쓰기등의 기능만 구현한 상태이며, html 예쁘게 꾸며보겠다고 시도하다 포기하고 초라한 외형만 구현했다. node나 vue같은 툴을 다룰 줄 알았으면 api형태로 만들었겠지만, 아직 가야할 길이 멀다. 구조는 대강 아래와 같다. 실행파일에는 config와 세션 만료의 기능만 담겨있고, fun에 uri, db_model에 모델 구성정보가 정의되어있다. 앞선 포스트에서 언급했듯, fun은 blueprint를 사용했다. # app.py ..

python/웹 2021.10.22

Flask CORS

Flask만 단독으로 사용하여 웹을 구성하면 사실 의미없는 기능이다. 하지만, 대부분의 프로젝트가 그렇듯 여러 툴을 사용하여 구성하는 경우가 많으므로 CORS를 설정해야 한다. 내 경우에는 Flask로 만들어진 서버에 Vue로 프론트를 구성하였는데, api 호출이 안된다며 cors를 설정해달라는 요청을 받았었다. CORS는 무엇인가? https://evan-moon.github.io/2020/05/21/about-cors/ 이 포스트에 참 잘 설명되어있다. 간단하게 요약하자면 flask 에서 보내는 api를 외부에서 호출할 때, 신뢰가지않는 도메인이라고 판단해서 받아주지 않는다고 생각하면 된다. 왜 신뢰할 수 없는 도메인을 차단하는지는 위의 링크에 나타나있다. 그럼 flask에서 cors를 어떻게 적용시..

python/웹 2021.09.27

[파이썬 서버] Flask를 잘 써보자 - Blueprint

이전 포스트에서 플라스크를 이용해서 웹을 구성했다. Hi 밖에 나오지 않지만 일단 구축에 성공했다고 볼 수 있다. 2021.08.17 - [python/웹] - [파이썬 서버] 간단하게 파이썬 웹페이지 만들기 ( Flask ) [1] [파이썬 서버] 간단하게 파이썬 웹페이지 만들기 ( Flask ) [1] 파이썬을 이용하여 웹 서버를 만들어보자 https://flask.palletsprojects.com/en/2.0.x/ Welcome to Flask — Flask Documentation (2.0.x) flask.palletsprojects.com 사용할 패키지는 Flask를 사용할 것이다. 파.. kkiho.tistory.com 만약 서비스가 복잡해지고, 신경써야 할 url이 많아진다면 플라스크를 실..

python/웹 2021.08.19

[파이썬 서버] 간단하게 파이썬 웹페이지 만들기 ( Flask ) [2]

서버를 만들었으면 다음은? 데이터를 뿌린다 ( O ) SQLAlchemy 를 이용해서 db를 구성하자. flask는 db기능을 포함하지 않으므로, flask_sqlalchemy를 이용해서 db를 구성해야한다. 우선, 패키지를 다운로드하자. pip install flask_sqlalchemy 이전 포스트에서는 단순히 url을 통해서 텍스트를 화면에 출력했다. 하지만 db를 설계하고 url을 통해서 db를 직접 수정하기 위해서 좀 더 복잡한 코드가 불가피하게 사용된다. 최대한 자세하게 설명해보겠지만, 그래도 어려우면 댓글을 통해 소통해보자. 우선, 이전에 사용된 코드를 보자. from flask import Flask app = Flask(__name__) @app.route('/') def main(): ..

python/웹 2021.08.17

[파이썬 서버] 간단하게 파이썬 웹페이지 만들기 ( Flask ) [1]

파이썬을 이용하여 웹 서버를 만들어보자 https://flask.palletsprojects.com/en/2.0.x/ Welcome to Flask — Flask Documentation (2.0.x) flask.palletsprojects.com 사용할 패키지는 Flask를 사용할 것이다. 파이썬으로 웹 서버를 구동하는 방식은 flask, django 등등 여러가지가 있지만, flask를 다뤄보자. pip install flask pip 명령어를 통해서 플라스크를 인스톨하자. 웹 서버이니 주피터노트북보단 파이참이나 기타 ide를 사용하자. 인스톨 했으면 다 한거다. from flask import Flask app = Flask(__name__) @app.route('/') def index(): re..

python/웹 2021.08.17
반응형