서버에 올리기

hihyeon_cho·2022년 10월 27일
2

sparta-web

목록 보기
8/8

웹서비스를 런칭하려면 항상 요청에 응답해 줄 수 있는 서버가 필요하다.
AWS라는 클라우드 서비스로는 편하게 서버를 관리하기 위해 항상 켜놓을 수 있는 컴퓨터EC2사용권을 구입해서 서버로 사용할 수 있다.
( 리눅스의 Ubuntu사용 )

구매하기

1 ) AWS에 접속하여 로그인하기.
( 회원가입은 타 사이트와 동일하며, 결제카드 등록이 필요하며, 등록하는 과정에서 100원이 결제되는데 금방 다시 취소해준다. )

2 ) 로그인을 하면 아래 페이지가 나오는데 EC2를 선택한다.

3 ) EC2를 누르면 해당화면이 나오는 데, 상단에 서울이라고 되어있는지 확인 후, 아래 '인스턴스 시작'을 누른다.

4 ) 내 웹서버 이름을 설정하고 아래에 Ubuntu 클릭 후, Ubuntu Server 20.04 선택 !

5) 인스턴트 유형 > t2.micro 선택 ( 1년 무료! )
새 키 페어 생성하기! ( 연결할 때 필요하다. )
생성한 후 오른쪽에 있는 'Launch Instance' 클릭 !

6 ) 오른쪽 인스턴스 메뉴 눌러서 인스턴스 상태가 '실행 중'인지 확인.

실행 중인 인스턴스를 클릭하면 하단에 있는 공란에 내 인스턴스의 세부사항이 뜬다. 이때 보안 탭을 눌러서 아래로 내리다보면 '인바운드 규칙'이 뜨는데, 여기에서 22번포트가 열려있는게 확인 되어야 접속이 가능하다.


접속하기

sudo chmod 400 (키페어끌어다놓기)
ssh -i (키페어끌어다놓기) ubuntu@(*AWS내아이피)

*AWS내아이피
내 인스턴스 세부사항에 있는 퍼블릭 IPv4 주소

  • python3명령어를 python으로 사용할 수 있도록 하는 명령어
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 10
  • pip을 설치하고 pip3명령어를 pip으로 사용할 수 있도록 하는 명령어
sudo apt-get update
sudo apt-get install -y python3-pip
sudo update-alternatives --install /usr/bin/pip pip /usr/bin/pip3 1
  • Filezilla에 파일업로드

    파일질라에 들어가면 1번 버튼이 보이는데, 클릭하면 2번 창이 열린다. 순서대로 진행하고 7번 연결버튼 클릭> 확인버튼 클릭하면 첫화면으로 돌아가 반으로 나눠진 화면을 볼 수 있는데, 왼쪽이 내 컴퓨터, 오른쪽이 연결한 컴퓨터이다.
    파일업로드는 드래그&드롭으로 쉽게 올릴 수 있다.

Flask 서버 실행하기

  • python 파일 만들 때, 설치한 패키지가 있었다면 설치하기
pip install flask
pip install pymongo
.
.
  • flask 서버실행
    업로드할 파일이 있는 공간에서 서버파일 실행
python app.py
  • 포트번호 열기 ( flask 서버에 연결은 되었지만 ,aws서버 안에서 포트번호가 아직 열리지 않아 localhost로 열던 파일이 열리지 않음 )
    ->
    인스턴트 페이지에서 내 서버 Name 클릭 > AWS 세부사항 칸에서 보안 클릭 > 보안그룹 '링크'클릭 > '인바운드 규칙 편집' 클릭 > '규칙추가' > 유형'사용자 지정 TCP’로 설정 후 포트범위에 포트번호 입력
    ( localhost:3000 을 쓰고 있다면 3000 입력 ) > '규칙저장'클릭

Chrome 브라우저에서 '(내 퍼블릭 IPv4):(포트번호)/'
로 접속하면 OK !

하지만 터미널을 종료하면(ssh접속을 끊으면) 프로세스가 종료되면서 더 이상 서버가 돌아가지 않는다. 원격접속을 끊어도 서버는 계속 동작하게 하려면 nohup설정이 필요하다.

nohup설정

nohup python app.py &

터미널에서 위 명령어를 실행해주기만 하면 된다.
강제로 서버를 종료하려면 아래 명령어 입력하기 !

ps -ef | grep 'python app.py' | awk '{print $2}' | xargs kill

도메인설정

도메인을 구매한다 = 네임서버를 운영해주는 업체에 IP와 도메인매칭 유지비를 내는 것이다.

이전에 '가비아'에서 도메인을 구입했기 때문에, 가비아에서 설정하는 과정이다.

1 ) 가비아 링크로 접속하여 내가 샀던 도메인 체크박스체크!
2 ) 상단에 'DNS설정' 클릭
3 ) 호스트이름에는 '@' IP주소에는 '내 퍼블릭 IPv4'를 넣고 '확인'클릭 > '저장'클릭 하면 끝!
4 ) 내가 샀던 도메인으로 직접 접속해보기 !
( 매칭되는 시간이 있어 시간이 필요하다고 한다. )

og태그
카카오톡 등에 공유했을 때, 아래 사진과 같이 예쁘게 나오도록 꾸미는 작업이 og태그를 사용하는 것이다.

<meta property="og:title" content="내 사이트의 제목" />
<meta property="og:description" content="보고 있는 페이지의 내용 요약" />
<meta property="og:image" content="이미지URL" />

head 태그 안에 위 메타태그를 넣으면 완성이다.
( og태그를 수정한다면 og태그 초기화를 해야한다. )

profile
코딩은 짜릿해 늘 새로워 ✨

0개의 댓글