본문으로 바로가기

[Flask] Flask 사용을 위한 환경설정

category Skills/Flask 2021. 11. 21. 17:37
반응형

Flask란?

Flask는 웹 어플리케이션 개발을 위한 파이썬 프레임워크이다.

Flask는 Django보다 가볍고 micro한 웹 서비스를 지향해서 초보자가 접근하기 쉽고, 확장성도 좋다.

 

Flask 사용을 위한 환경설정

1. AWS에서 OTP설정 후 EC2 생성

- MFA 활성화를 통해 OTP를 설정하여 보안을 강화한다.

- AWS에서 EC2 인스턴스를 생성한다.

아래 링크를 참조하여 생성하면 되고, ubuntu계정에 접속까지만 완료하면 된다.

https://ssongblog.tistory.com/134?category=902345 

 

[AWS]AWS를 이용하여 MySQL 환경 구축하기

과거에는 DB설치를 위해 Linus OS설치하고, IDC센터에 직접 방문하는 등 시스템엔지니어의 도움을 받았다고 한다. 하지만 지금은, 물리적 서버에서 논리적 서버로 클라우딩하여 마치 내 개인 서버

ssongblog.tistory.com

 

2. FTP 서비스 설정 : cyberdunck

- 파일을 전송하는 방법은 두 가지가 있다.

1. SCP : ftp프로그램보다 속도가 빠르며, 서버와 서버간 파일을 이동할 때 유용하다

아래 코드를 통해 pyenv.sh파일을 key.pem로 인증하여 퍼블릭IP서버의 ubuntu계정 최상위 디렉토리로 옮긴다.

scp -i ~/Downloads/.ssh/key.pem ~/Downloads/pyenv.sh ubuntu@퍼블릭IP:~/

2. FTP (cyberduck)

- cyberduck (다운로드)

https://cyberduck.io/download/

- filezilla

https://filezilla-project.org/download.php

- cyberduck 서버 접속 설정

  • SFTP 선택
  • 서버 : 퍼블릭 IP 설정
  • 사용자 이름 : ubuntu
  • SSH Private Key : key.pem 파일 선택

- 접속을 허용하여 들어가보면, 쉽게 파일을 옮기고 전송할 수 있게 된다. (매우 편리)

 

3. pyenv 설정

- cyberduck을 이용해 환경설치를 위한 pyenv.sh파일과 requirements.txt를 서버로 이동한다.

- 서버에서 pyenv.sh 파일을 실행한다. (시간이 조금 오래 걸린다 - 파이썬 설치도 있기 때문)

ls
source pyenv.sh

- 패키지를 설치한다.

pip install -r ~/requirements.txt

 

4. Jupyter Notebook 설치 및 설정

- ipython jupyter 패키지를 설치한다.

pip install ipython jupyter

- 설정 파일을 생성한다.

jupyter notebook --generate-config

- 패스워드를 생성한다.

ipython
In [1]: from notebook.auth import passwd
In [2]: passwd()
Enter password: password
Verify password: password
Out: sha1:6600c5733ef3:b683d6afba16b3403fdf9a75ac38b7d8e7f733bb
In [3]: quit

위 패스워드값을 기억해야한다.

 

- 설정파일에 접속하여 파일을 수정한다.

sudo vi /home/ubuntu/.jupyter/jupyter_notebook_config.py

[수정모드]

c.NotebookApp.ip = '프라이빗IP' # 내부 IP 주소
c.NotebookApp.open_browser = False
c.NotebookApp.password = 'sha1:6600c5733ef3:b683d6afba16b3403fdf9a75ac38b7d8e7f733bb'

- 서버의 8888 포트를 활성화한다.

이미 인스턴스 생성 시에 보안규칙에 8888포트를 추가해놓았다.

- 서버에서 jupyter notebook을 실행한다.

jupyter notebook

- 브라우저로 접속한다    http://퍼블릭IP:8888

이제 아까 설정해줬던 패스워드를 입력하면 접속이 완료된다.

*터미널 창에서 ctrl + c 를 누르면 접속을 종료한다.

 

 

5. Mysql 설치 및 설정

아래 링크에서 2.개인 PC에서 생성한 서버에 접속하고 MySQL 설치하기를 참고한다. (내용이 똑같음)

https://ssongblog.tistory.com/134?category=902345 

 

[AWS]AWS를 이용하여 MySQL 환경 구축하기

과거에는 DB설치를 위해 Linus OS설치하고, IDC센터에 직접 방문하는 등 시스템엔지니어의 도움을 받았다고 한다. 하지만 지금은, 물리적 서버에서 논리적 서버로 클라우딩하여 마치 내 개인 서버

ssongblog.tistory.com

- mysql-server와 mysql-client를 설치한다.

sudo apt-get update -y
sudo apt-get upgrade -y
sudo apt-get install -y mysql-server mysql-client

- python 패키지를 설치한다.

sudo apt-get install libmysqlclient-dev
pip install mysqlclient sqlalchemy pymongo

- 내부접속 패스워드를 설정한다.

mysql -u root -ppassword
mysql> SELECT user,authentication_string,plugin,host FROM mysql.user;
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'dss';
mysql> FLUSH PRIVILEGES;
mysql> SELECT user,authentication_string,plugin,host FROM mysql.user;
mysql> exit

- 외부접속 허용을 설정한다.

sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf

bind-address = 127.0.0.1 0.0.0.0으로 수정한다.

 

- 외부접속 패스워드를 설정한다.

mysql -u root -ppassword
mysql > grant all privileges on *.* to root@'%' identified by 'password';
exit

- 서버를 재시작한다.

 

sudo systemctl restart mysql

- Instance의 3306번 포트를 활성화한다.

이미 인스턴스 생성 시에 보안규칙에 3306포트를 추가해놓았다.

 

- Database management application을 다운로드한다

MAC : Sequel Pro    https://www.sequelpro.com/

common : MySQL Workbench    https://www.mysql.com/products/workbench/

 

- 샘플데이터를 저장한다.

world database  https://dev.mysql.com/doc/index-other.html

mysql -u root -p world < world.sql

을 통해 옮기거나,

sql> create database world;
sql> use world;
sql> source world.sql

를 통해 샘플데이터를 저장한다.

 

 

6. MongoDB 설치 및 설정

포스팅을 참조하여 몽고DB 설치 및 설정을 진행해준다.

https://ssongblog.tistory.com/151?category=902869 

 

[MongoDB] MongoDB 설치 및 접속

NoSQL의 대표적인 솔루션인 ModgoDB를 설치하는 법에 대해 알아보자. CLI 환경에서 MongoDB 설치 - 먼저, aws에서 설치한 인스턴스서버에 우분투계정으로 접속한다. ssh -i ~/Downloads/.ssh/key.pem ubuntu@퍼블..

ssongblog.tistory.com

- MongoDB 설치

sudo apt install -y mongodb

- MongoDB 설정

sudo vi /etc/mongodb.conf

vi 에디터를 통해 아래 설정을 변경해준다.

bind_ip = 0.0.0.0 # 외부접속 허용
auth = true # 패스워드 설정 허용

- 패스워드 설정

mongo
> use admin
> db.createUser({user:"user", pwd:"password", roles:["root"]})
> quit()

- 서버를 재시작한다.

sudo systemctl restart mongodb

- Instancedml 27017번 포트를 활성화한다.

이미 인스턴스 생성 시에 보안규칙에 27017포트를 추가해놓았다.

 

 

이제 FLASK를 사용하기 위한 환경설정이 완료되었다.

 

반응형

'Skills > Flask' 카테고리의 다른 글

[Flask] ngrok과 nginx 설치하기  (0) 2021.11.21
[Flask] Jupyter Notebook에서 Falsk 사용하기  (1) 2021.11.21