웹사이트 만드는 순서!

박다영·2022년 11월 9일
0

매일의 개발기록

목록 보기
6/28

[만들어야 할 것]

  1. 유저가 사용하며 서버와 소통할 클라이언트 (html, css, javascript)
  2. 데이터를 보관할 DB (python - ex. mongoDB)
  3. 화면 UI 와 DB 데이터를 사용자 웹으로 보내주는 서버 (python - ex. Flask)

[기본으로 설치할 인터프리터 목록]

flask, pymongo, dnspython, certifi,
requests, bs4(크롤링)
.
.


[만드는 순서]

[들어가기]

1. 조각기능 구현

  • 어떤기능이 필요할지 정리하기
  • 필요한 기능이 작동가능할지 미리 만들어보기

.

[서버 만들기]

1. Flask 다운받기

  • Flask 프레임워크 : 서버 구동에 필요한 코드를 모아둔 패키지로 서버만드는 밀키트라고 보면됨

2. 서버 기본 폴더구조 만들기

  • static 폴더 - 이미지, css 파일 넣기
  • templates 폴더 - HTML 파일 넣기
  • app.py 파일 - 코드작성 (Python)

.

[DB 만들기]

1. Python 으로 데이터 DB에 저장하기

  • 먼저, 필요한 기능을 가진 패키지를 설치해 venv 공구함에 모아두기
  • 웹 스크랩핑 (크롤링) 해서 필요한 데이터를 가져오기
  • 가져온 데이터 혹은 생성한 데이터를 DB 에 저장하기

.

[클라이언트 만들기]

1. HTML 로 웹사이트 뼈대를 만든다.

2. CSS 로 꾸민다.

  • 직접 디자인하는 것이 아니라면 부트스트랩을 이용해 요소 가져다 쓰기
  • 폰트를 넣기
  • 모바일 고려한 % 처리

3. javascript 를 이용해 움직임을 만든다.

  • jQuery 로 HTML 제어 코드 짜기
    ** jQuery: HTML 요소 조작하는 간결한 javascript를 미리 작성해둔 코드 모음 즉, 라이브러리)
  • Ajax 로 새로고침 없이 서버에 필요한 부분만 데이터 요청하는 코드 짜기
    ** Ajax : jQuery 에서 제공하는 기능, JS 로도 만들 수는 있지만 코드가 너무 복잡해서 jQuery 의 Ajax를 쓰는 것을 추천한다.
    (관련 내용 : Ajax 는 꼭 jQuery를 써야하나?, AJAX란 무엇인가?)

.

[서버 - 클라 - DB 연결]

1. 서버 - 클라 - DB 연결

  • ajax 를 사용해서 서버와 get, post 방식으로 정보 주고받기
  • db 의 정보를 서버에 연동시켜서 클라에 보내주기

.

[배포하기]

1. 필요한 것들 구매

  • 도메인 구매하기
    Ex. 가비아 (gabia) 에서 도메인 구매
  • 클라우드 컴퓨터 구매하기
    Ex. AWS에서 EC2 서버구매
  • 서버에 파일 업로드를 도와주는 프로그램 설치
    Ex. filezilla(파일질라) 설치

2. 서버 배포하기

  • filezilla(파일질라)로 완성한 서버파일을 AWS EC2에 업로드

  • 터미널로 클라우드 컴퓨터에 원격접속해서 패키지 깔고, 서버 실행

    터미널키기
    sudo chmod 400 “키페어입력” //
    “비번입력” //
    ssh -i “키페어입력” ubuntu@퍼블릭 IPv4 주소 입력 //
    ls //
    ubuntu //
    ls //
    (폴더명) //
    cd (폴더명) //
    ls //
    app.py static templates //
    Python3 app.py //
    (서버실행)
    패키지(python3, pip 등..)설치 > 메모장에 적어둠

  • AWS 에서 서버 포트 열어주기 (5000, 80) > 연결완료

  • 터미널을 닫아도 서버가 계속 실행되게 해주기 (nohup)

    ctrl C //
    nohup python3 app.py & //

  • 서버 유지보수하기
    파일을 바꾸려면, 먼저 서버를 강제종료하고
    파일질라에서 파일바꾼다음
    다시 서버를 연결 & 서버 계속 실행되게 해줘야 함

    서버종료키
    ps -ef | grep 'python3 app.py' | awk '{print $2}' | xargs kill

  • 도메인 연결하기
    gabia 에서 구매한 도메인에 IP 주소 연결해서 도메인 완성하기

  • html 에서 og 태그 만들어주기
    링크를 전달했을 때 간략한 소개와 이미지등을 보여줄 수 있도록

profile
개발과 디자인 두마리 토끼를!

0개의 댓글