1) EC2에 접속하기
Window: ssh가 없으므로, git bash라는 프로그램을 이용!
gitbash 실행 후 아래 내용 입력
ssh -i (받은키페어를끌어다놓기) ubuntu@AWS에적힌내아이피
<예시>
ssh -i /path/my-key-pair.pem ubuntu@13.125.250.20
<자주 쓰는 리눅스 명령어>
ls: 내 위치의 모든 파일을 보여준다.
pwd: 내 위치(폴더의 경로)를 알려준다.
mkdir: 내 위치 아래에 폴더를 하나 만든다.
cd [갈 곳]: 나를 [갈 곳] 폴더로 이동시킨다.
cd .. : 나를 상위 폴더로 이동시킨다.
cp -r [복사할 것] [붙여넣기 할 것]: 복사 붙여넣기
rm -rf [지울 것]: 지우기
sudo [실행 할 명령어]: 명령어를 관리자 권한으로 실행한다.
sudo su: 관리가 권한으로 들어간다. (나올때는 exit으로 나옴)
1) filezilla 설정
*5주차 강의자료 참고
2) 서버 환경 통일하기
*제공되는 <EC2 한방에 세팅하기> 파일을 파일질라로 업로드하고 git bash에서 코드를 입력하면 자동으로 세팅이 된다.
sudo chmod 755 initial_ec2.sh
./initial_ec2.sh
1) flask 서버 실행해보기
*flask 서버 파일을 만들어서 filezilla로 EC2에 업로드하고 실행
<app.py 파일 코드>
from flask import Flask
app = Flask(__name__)
@app.route('/')
def home():
return 'This is Home!'
if __name__ == '__main__':
app.run('0.0.0.0', port=5000, debug=True)
<실행>
# 실행
python app.py
-> flask 패키지가 없다는 에러가 난다
2) pip로 패키지 설치하기
pip install flask
3) 다시 실행해보기
크롬 브라우저 창에 아래와 같이 입력합니다.
http://[내 EC2 IP]:5000/
*아직 작동하지 않음, AWS에서 추가 설정 필요
1) AWS에서 5000포트를 열어주기
→ 그래서 AWS EC2 Security Group에서 인바운드 요청 포트를 열어줘야 합니다.
1) Robo3T를 이용해서, "내 컴퓨터에서"→"서버에 있는 mongoDB"에 접속하기
2) 원페이지쇼핑몰 완성본을 filezilla로 EC2에 업로드해봅니다.
client = MongoClient('mongodb://test:test@localhost', 27017)
<다음과 같은 뜻>
client = MongoClient('mongodb://아이디:비밀번호@localhost', 27017)
3) 완성본을 실행해봅니다.
a. 실행하려고 시도하기
# home 디렉토리로 이동
cd ~
# 해당 폴더로 이동해서 아래 코드를 실행합니다.
python app.py
b. 에러가 나죠? 패키지를 설치하지 않았기 때문입니다.
# 설치하기
pip install pymongo
c. 다시 실행해봅니다
python app.py
d. 접속해보기
<브라우저에서 접속하기>
http://내AWS아이피:5000/
:SSH 접속을 끊어도 서버가 계속 돌게 하기
# 아래의 명령어로 실행하면 된다
nohup python app.py &
<서버 (강제)종료>
# 아래 명령어로 미리 pid 값(프로세스 번호)을 본다
ps -ef | grep 'app.py'
# 아래 명령어로 특정 프로세스를 죽인다
kill -9 [pid값]
<브라이저에서 접속>
http://내AWS아이피/
도메인 구입하기
-> 가비아에서 구매(자세한 내용은 강의자료 참고)
og 태그
-> static 폴더 아래에 이미지 파일을 넣고, 각자 프로젝트 HTML의 <헤드>~</헤드> 사이에 아래 내용을 작성하면 og 태그를 개인 프로젝트에 사용할 수 있습니다.
a. "내 사이트의 제목" 입력하기
b. "보고 있는 페이지의 내용 요약" 입력하기
c. 적당한 이미지를 만들거나/골라서 static폴더에 ogimage.png로 저장하기!
(사이즈 800x400인 이미지를 구글에서 검색!)
<meta property="og:title" content="내 사이트의 제목" />
<meta property="og:description" content="보고 있는 페이지의 내용 요약" />
<meta property="og:image" content="{{ url_for('static', filename='ogimage.png') }}" />
페이스북/카카오톡 등에서 처음 것을 한동안 저장해놓기 때문
- 페이스북 og 태그 초기화 하기: [https://developers.facebook.com/tools/debug/](https://developers.facebook.com/tools/debug/)
- 카카오톡 og 태그 초기화 하기: [https://developers.kakao.com/tool/clear/og](https://developers.kakao.com/tool/clear/og)
내 웹사이트를 올린다는 거창한 목표와는 달리 조금 김빠지게 끝난 것 같다.
(물론 5주짜리 강의에서 이 정도를 만들 수 있게 한 것도 대단한 거라고 생각하지만)
강의를 다 듣고 이를 응용해서 스스로 하나의 페이지를 만드는 거라고 생각해서 그런 것 같다.
다시 한번 쭉 연습하면서 진짜 내 사이트를 만들어서 올려봐야겠다.