본문 바로가기

웹 개발일지(스파르타코딩)

스파르타코딩_웹개발_5주차

마지막 주차인 웹개발 5주 차이다.

이번 주차는 프로젝트를 서버에 올리고 서버를 세팅했다. flask서버를 실행해 보고 nohup을 설정하며 도메인까지 연결해 줬다.

 

배포하기 위해서는 aws와 git bash, 가비아, filezilla를 이용해 줬다.

aws에서 인스턴스를 만들어 키페어를 다운로드해주고, 인스턴스 퍼블릭 주소를 복사해 준다.

 

처음 git bash에 들어갔을 때 window라면 먼저 밑에 것을 쳐준다.

ssh -i [다운로드한 키페어(pem) 넣기] ubuntu@(이유: ubuntu로 했기 때문에) 인스턴스퍼블릭주소

붙여 넣을 때는 마우스 우클릭 후 paste를 눌러준다.

나중에 다시 사용하고 싶을 때는 git bash에 들어가서 위를 가리키는 화살표를 누르면 이전에 가장 마지막으로 썼던 것이 나온다.

 

다음으로 서버를 세팅해야 한다. 서버를 세팅하기 위해서는 리눅스에 명령어를 준다.

이 명령어들을 다 넣어준다.

1.
# python3을 하고 파이썬 명령어를 쳐야 하는데, 그냥 python이라고 쳐도 명령할 수 있게끔 만든다.
# python3 -> python
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 10
2.
# 패키지 같은 것들을 깔 때 필요한 pip3를 설치한다. (패키지를 설치할 수 있게 해주는 프로그램)

# 또 pip3를 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
3.
# 예를 들어 localhost:5000에서 5000을 떼는 명령어이다. 또, 80으로 들어오는 요청을 5000 포트로 넘겨주라는 명령
# port forwarding
sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 5000

 

리눅스의 기초적인 명령어

ls: 내 위치의 모든 파일을 보여준다.

pwd: 내 위치(폴더의 경로)를 알려준다.

mkdir: 내 위치 아래에 폴더를 하나 만든다.

cd [갈 곳]: 나를 [갈 곳] 폴더로 이동시킨다.

cd .. : 나를 상위 폴더로 이동시킨다.

cp -r [복사할 것] [붙여 넣기 할 것]: 복사 붙여넣기

rm -rf [지울 것]: 지우기

sudo [실행할 명령어]: 명령어를 관리자 권한으로 실행한다.
sudo su: 관리가 권한으로 들어간다. (나올 때는 exit으로 나옴)

 

작업한 것들을 배포하고 싶을 때는 filezilla에 static, templates, app.py만 넣어준다.

자신이 만든 작업을 수정하고 싶을 때는 강제 종료 후에 filezilla에 넣어 둔 것들을 삭제한다. 그 후 수정 작업한 것들을 다시 filezilla에 넣어주며 과정을 반복한다.

 

현재 사용하고 있는 app.py를 종료해주고 싶을 때는 ctral + c

원격접속을 종료하더라 계속 서버가 돌아가게 하기 위해서는 nohup python app.py &을 써준다.

 

계속 서버가 돌아가는 것을 종료하고 싶을 때: 강제 종료하기

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

 

도메인 연결하기 및 og 태그 만들기

가비아에 접속해서 해줬다. 자신이 구매한 도메인에서 DNS설정을 눌러서 변경해 줬다.

og 태그를 만들어서 내가 카카오톡 등에 공유를 했을 때 예쁜 이미지등과 함께 나오게 만들었다.

 

작업 내용도 수정을 해줬는데, 오늘 배운 내용 중 완료 버튼을 생성하여 완료버튼을 누르면 줄이 그어지는 코드를 활용하여 지우기 버튼을 추가해 줬다. 지우기 버튼이 내가 만들고 있는 작업에서 꼭 필요하고 만들고 싶었던 부분인데 만들 수 있어서 좋았다.

 

마지막 정리

웹서비스를 만들기 위해서는 html, css, java script이 필요하다.

우리는 서버를 python 언어를 이용하여 만들었다.

데이터 베이스도 공부하고 서버도 만들며 인터넷 환경에 배포도 해봤다.

 

지금까지 어려움과 많은 오류들, 복잡한 과정이 많았지만, 계속 시행착오를 겪으면서 점점 성장해 나가고 이해가 되는 것이 느껴졌다. 또, 직접 과제를 해보며 몰랐던 부분을 알게 되고 더 확실히 개념이 잡혀갔다. 많은 배움들을 과제에 적용해나가 보는 것이 중요한 것 같다. 직접 결과물을 만드니 뿌듯하고 5주 동안 많은 공부를 할 수 있어서 좋았다. 공부해 보거나 접해보지 못한 웹개발 쪽이기 때문에 배움에 있어서 더 알찼다. 수강하길 잘한 것 같다.

기회가 된다면 더 자세히 배워 더 멋있는 서버를 만들고 싶다.

포기하지 않고 끝까지 열심히 하여 마칠 수 있어서 행복하다.

지금까지 배운 내용들을 까먹지 않게끔 계속해서 복습해야겠다!

'웹 개발일지(스파르타코딩)' 카테고리의 다른 글

스파르타코딩_웹개발4  (0) 2023.02.25
스파르타코딩_웹 개발일지3  (0) 2023.02.20
스파르타코딩 웹개발일지2  (0) 2022.08.19
웹 개발일지1.3  (0) 2022.08.11
웹 개발일지1.2  (0) 2022.08.11