AWS와 서버 연결

호호빵·2022년 4월 1일
0

Web

목록 보기
1/12

AWS 구매후 서버 연결하기

  • EC2 서버 구매후 shell로 접속하기(키페어 등록)
  • EC2 보안그룹 포트 열어주기
  • filezilla로 initial_ec2.sh 올리고 shell에 깔기
  • robo3t에 주소 연결(user,pw)
  • app.py에 user,pw 코드 넣고 filezilla로 옮김(templates, static, app.py)
  • shell에서 해당 폴더에 들어가서 flask, pymongo 깔기
  • python app.py로 실행 후 주소 입력해 연결 확인

포트 5000은 flask 서버와 연결
포트 80은 http로 연결

# ubuntu에 접속하기

sudo chmod 400 key.pem 

ssh -i key.pem ubuntu@퍼블릭 IPv4 주소


# initial_ec2.sh 깔기

sudo chmod 755 initial_ec2.sh

./initial_ec2.sh


# flask, pymongo 깔기

pip install flask
pip install pymongo


# 서버 계속돌리기, 끄기

nohup python app.py &    <- 계속 돌아감

ps -ef | grep 'app.py'   <- 번호 확인

kill -9 (해당번호)		 <- 끄기
kill -9 (해당번호)


리눅스 명령어 (쉘 명령어)

ls: 내 위치의 모든 파일을 보여준다.
ls -al: 내 위치의 모든 파일을 속성까지 보여준다.

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

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

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

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

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

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

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

서버 환경 세팅 (코드)



# UTC to KST
sudo ln -sf /usr/share/zoneinfo/Asia/Seoul /etc/localtime

# python 이라는 명령어로 3 버전 이상을 실행하도록 하는 명령어입니다.
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 10

# python3 -> python
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 10

# pip3 설치
sudo apt-get update
sudo apt-get install -y python3-pip
pip3 --version   # 버전 확인 
# pip3 -> pip
sudo update-alternatives --install /usr/bin/pip pip /usr/bin/pip3 1

# 파이썬 개발에 필요한 라이브러리 설치
pip install flask boto3 flask-cors

# port forwarding
sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 5001

# MongoDB - install
wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add -
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.4.list
sudo apt-get update
sudo apt-get install -y mongodb-org

sudo mkdir -p /data/db

# MongoDB - run
sudo service mongod start
sleep 7
netstat -tnlp

# MongoDB set user, set conf file
mongo admin --eval 'db.createUser({user: "test", pwd: "test", roles:["root"]});'
sudo sh -c 'echo "security:\n  authorization: enabled" >> /etc/mongod.conf'
sudo sed -i "s,\\(^[[:blank:]]*bindIp:\\) .*,\\1 0.0.0.0," /etc/mongod.conf

sudo service mongod stop
sudo service mongod start
sleep 5
netstat -tnlp

git 연동

# git 체크
git --version

# git 저장소 url 붙여넣기 
git clone https://github.com/uphiller/allaboutaws-backend

cd allabouttawx-backend/   # 폴더 들어가서 
python app.py			   # 파이썬에서 app.py 실행

# 브라우저에서 확인
http://[내 EC2 퍼블릭 IP]:5000/    
# 5000 포트 보안에서 인바운드 규칙 편집으로 열어주기
profile
하루에 한 개념씩

0개의 댓글