1. AWS 에서 EC서버 구매 및 사용
- AWS EC2콘솔페이지 https://ap-northeast-2.console.aws.amazon.com/ec2/v2/home?region=ap-northeast-2
- Ubuntu 18.04 구매 및 키페어 파일 다운로드
- EC2 서버 종료하려면 ? 인스턴스 오른쪽 클릭 > 종료 클릭.
- <윈도우의 경우> gitbash 실행
- gitbash에서 작성 : ssh -1 (여기에 저장한 키페어파일 드래그 하면 패스가 자동으로 작성됨) ubuntu@AWS퍼블릭 IPv4 주소
- gitbash 명령어
ls: 내 위치의 모든 파일을 보여준다.
pwd: 내 위치(폴더의 경로)를 알려준다.
mkdir: 내 위치 아래에 폴더를 하나 만든다.
cd [갈 곳]: 나를 [갈 곳] 폴더로 이동시킨다. c
d .. : 나를 상위 폴더로 이동시킨다.
cp -r [복사할 것] [붙여넣기 할 것]: 복사 붙여넣기
rm -rf [지울 것]: 지우기
sudo [실행 할 명령어]: 명령어를 관리자 권한으로 실행한다.
sudo su: 관리가 권한으로 들어간다. (나올때는 exit으로 나옴)
2. 서버세팅
- 서버 환경 세팅 필요
1. 한국 시간 세팅 : sudo ln -sf /usr/share/zoneinfo/Asia/Seoul /etc/localtime
2. 파이썬3명령어 파이썬으로 사용하게 세팅 : sudo ln -sf /usr/share/zoneinfo/Asia/Seoul /etc/localtime
3. pip3설치 :
sudo apt-get update
sudo apt-get install -y python3-pip
4. pip3를 pip로 사용하게 세팅 :
sudo update-alternatives --install /usr/bin/pip pip /usr/bin/pip3 1
5. mongoDB설치
wget -qO - https://www.mongodb.org/static/pgp/server-4.2.asc | sudo apt-key add - echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.2.list sudo apt-get update sudo apt-get install -y mongodb-org
6. mongoDB실행
sudo service mongod start
7. mongoDB계정생성
mongo #mongoDB실행
use admin; #monogoDB admin계정바꾸기
db.createUser({user: "(원하는ID)", pwd: "(원하는비번)", roles:["root"]}); #mongoDB계정생성
exit #나오기
sudo service mongod restart #mongo재시작
8. mongoDB외부에서 열어주기
sudo vi /etc/mongod.conf #관리자 권한으로 /etc 폴더 아래 mongod.conf 파일을 Vim으로 실행
아래방향화살키클릭
i #입력모드 전환(bindIP:0.0.0.0/authorizationo : enabled)
(esc키누름)
wq #내용저장하고 에디터종료
sudo service mongod restart #재시작
9. Robo3T
- MongoDBconnection 리스트창에서 Create클릭
- 접속정보 세팅 : Address에 AWS IP주소 입력
- Authentication탭 클릭 > Perform authentication 체크박스를 클릭 > 아까 생성한 아이디 비번 입력 > save
10. 포트포워딩 : 80포트로 들어오는 요청을 5000포트로 넘겨주는 명령어
sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 5000
3. flask서버 실행
- git bash > pip install flask 및 pymongo 또한 설치
4. AWS에서 포트 열어주기
- AWS EC2관리 콘솔 > 보안그룹 > 해당그룹 클릭 > 인바운드규칙편집 > 80포트(HTTP), 5000포트(Flask), 27017포트(mongoDB)추가
5. 쇼핑몰 업로드
- app.py파일 내 클라이언트 내용 수정하기
client = MongoClient('mongodb://아이디:비밀번호@localhost', 27017)
- 파일질라 이용해서 static폴더+templates폴더 +app.py폴더 모두 home/ubuntu폴더에 업로드
6. nohup설정 및 종료 : git bash창 꺼도 서버가 돌아가게 할 수 있음
- 설정 : nohup python app.py &
- 종료 :
ps -ef | grep 'app.py' #app.py포함된 실행중프로세스들이 나온다.
예) ubuntu 22187 22133 0 22:39 pts/0 00:00:00 python app.py
ubuntu 22197 22187 1 22:39 pts/0 00:00:09 /usr/bin/python /home/ubuntu/app.py
ubuntu 22327 22133 0 22:54 pts/0 00:00:00 grep --color=auto app.py
이때 kill -9 22187 및 kill -9 22197 로 특정 프로세스를 죽인다.
8. 도메인 연결
- 가비아의 경우 :
DNS관리툴 > 도메인연결 > DNS설정 > 호스트이름에 @, IP주소에 IP주소입력
9. og태그
- head태그 사이에 넣기
<meta property="og:title" content="내 사이트의 제목" />
<meta property="og:description" content="보고 있는 페이지의 내용 요약" />
<meta property="og:image" content="{{ url_for('static', filename='ogimage.png') }}" />
10. 완성작
11. 후기
전체적으로 웹개발에 대해서 둘러볼 수 있어서 좋은 기회였다고 생각합니다.
웹개발에 대한 흐름을 잡을 수 있어서 정말 좋았어요.
특별히 만들고 싶은 간단한 프로젝트가 있다면 더 몰입할 수 있었을 것 같다고 생각합니다.
저는 이제부터 생각해보고 만들어 보려구요^^
간단한 웹페이지 직접 자기 손으로 만들고 싶으시다면 정말 추천드립니다.
[스파르타 5만원 할인 받고 수강하세요!]
↓
https://spartacodingclub.kr/?f_name=%EC%B5%9C%EB%AF%B8%EC%84%9C&f_uid=5f6fe706e482040009c7ec32
스파르타코딩클럽
왕초보 8주 완성! 웹/앱/게임 빠르게 배우고 내것을 만드세요!
spartacodingclub.kr
'코딩 공부 > 스파르타 웹개발' 카테고리의 다른 글
스파르타 웹개발 종합반 - 4주차 (0) | 2021.12.18 |
---|---|
스파르타 웹개발 종합반 - 3주차 (0) | 2021.12.11 |
스파르타 웹개발 종합반 - 2주차 (0) | 2021.12.06 |
스파르타 웹개발 종합반 - 1주차 (0) | 2021.11.28 |