본문 바로가기

전체 글

Docker로 작성한 서버, Debug모드 적용하기 💡Docker로 올린 서버는 Debug모드로 실행 한다면, Docker 내부에 들어가서 코드를 고쳐줘야 하는 번거로움이 있다. Docker 내부에서 수정한 파일은, Docker를 내리거나 지우면 없어지며 혹은 local의 git과 연동되지 않는 문제점이 있다. Docker로 서버 Debug모드 적용하기 간단하게 Dockerfile로, flask 서버를 작성 해 보도록 하겠습니다. Flask 서버 만들기 여러번 다루었지만, Flask 서버를 시작하기 위해서 가상환경과 필요 패키지들을 설치 해 주도로 하겠다. .env FLASK_ENV=development FLASK_DEBUG=True FLASK_APP=app.py FLASK_RUN_PORT=5000 app.py from flask import Flask .. 더보기
Flask - uwsgi - Nginx 와 docker-compose를 사용해 서버를 만들자 NGINX 와 uWsgi서버를 함께 사용한 Flask 서버를 Docker로 만들어 봅시다. 이전에 NGINX, uWsgi, Flask가 묶여있는 Dockerfile이 있었다. 그 도커파일을 사용한다면, 일일히 세팅을 하지 않아도 한번에 작업을 할 수 있는 것이 큰 장점이었다. 이번에는 각각의 파일을 따로 만들어 작업하는 방법을 소개 해 보려고 한다. Nginx + uWsgi + Flask with docker-compose 예제 다운로드 $ git clone https://github.com/paullee714/flask-projects.git Project Structure flask-nginx-uwsgi-Docker ├── docker-compose.yml ├── flask │ ├── Dockerfi.. 더보기
Flask 에 uwsgi 서버 적용하기 Flask with Docker, uwsgi wsgi를 사용한 Flask wsgi는 CGI(Common Gateway Interface)의 일종으로, web이 이제 막 걸음마 단계를 시작했을 적에 CGI는 수많은 언어에서 문제 없이 작동한다는 이유로(애초에 CGI 외에 다른 선택권이 없기도 했다) 기하급수적으로 사용량이 증가했다. 하지만 CGI는 너무 느리고 제한사항도 많았을 뿐더러, python app에서는 CGI, mod_python, Fast CGI 등등 만을 사용했다. wsgi는 이와중에 프레임워크의 웹서버로, route web에서는 표준 인터페이스로 개발되었다. 출처: https://paphopu.tistory.com/entry/WSGI에-대한-설명-WSGI란-무엇인가 [jadehan] wsgi.. 더보기
Sentry.io 에러 로깅 Sentry.io sentry.io 를 사용해서 로그(에러로그) 수집 Sentry - error Sentry 둘러보기 Sentry는 Application Monitoring 도구이다. 특히, 에러로그를 수집하는 데에 특화 되었다. 각 코드의 에러들을 모아서 웹에서 확인 할 수 있도록 도와주는 플랫폼이다. Application Monitoring and Error Tracking Software 가장 흔한 예로 아래에서 Python 코드를 예로 들었다 try: pass # 예외가 없이 잘 실행되는 코드 except Exception as e: #(1) pass # 예외가 처리 될 때 실행 되는 코드 --> Sentry.io에 Exception이 적재됨 finally: pass # 예외 여부 상관에 없이 가.. 더보기
Flask - DB (Mysql) 연동과 CRUD Flask db연동 - CRUD flask와 db연동을 합니다. Flask - Database(Mysql) DB - Mysql Flask ORM Model From - SqlAlchemy Create DB & Table DB 세팅 및 설치가 어렵다면, Docker를 사용해보자 [Dev/Docker&kubernetes] - Docker 를 사용해 Database 간단하게 구축하기 (MYSQL) create table test_db.my_user( id int(11) NOT NULL auto_increment, user_name varchar(20), created_at datetime default current_timestamp, udpated_at datetime default current_times.. 더보기
Flask ORM Model 생성하기 (SqlAlchemy) Flask-sqlAlchemy (ORM Model) flask의 sqlalchemy 모듈을 사용해서 연결된 db의 orm model을 생성 해 보자 Flask sqlAlchemy install flask sqlalchemy $ pip3 install flask-sqlacodegen DB 구조 뜯어내기 사용법 $ flask-sqlacodegen "[sql_class]://[username]:[password]@[DB_IP]/[DB_NAME]" — flask 해당하는 db를 바로 파일로 변환하기 $ flask-sqlacodegen "[sql_class]://[username]:[password]@[DB_IP]/[DB_NAME]" — flask > model.py 예제 $ flask-sqlacodegen "m.. 더보기
Docker 를 사용해 Database 간단하게 구축하기 (Mongodb) 깃허브 주소는 https://github.com/paullee714/docker-db Docker - MongoDB .env file을 사용해서 컨테이너에 정보를 주도록 해보겠습니당 docker-compose.yml 작성 version: '3' services: mongodb: image: mongo ports: - "${MONGO_PORT}:27017" volumes: - /Users/wool/Dev/mongodb:/data/db container_name: "docker-mongodb" env_file: - .env .env file 작성 ## Mongodb MONGO_HOST=localhost MONGO_PORT=27017 MONGO_INITDB_ROOT_USERNAME=root MONGO_INIT.. 더보기
Docker 를 사용해 Database 간단하게 구축하기 (MYSQL) 깃허브 주소 https://github.com/paullee714/docker-db Docker-db Docker를 사용해서 db를 구축 하자. Docker를 사용하여 DB를 구축하는 과정이기 때문에, Docker, Docker-compose는 이미 설치되어있다는 가정 하에 작성 Docker - Mysql docker-compose.yml 작성 version: "3" services: db: image: mysql:latest container_name: docker-mysql ports: - "3306:3306" environment: MYSQL_ROOT_PASSWORD: 'qwerqwer123' command: - --character-set-server=utf8mb4 - --collation-ser.. 더보기