본문 바로가기

Fix Error

EC2 서버에 업로드 하기 | 로컬에서는 잘 됐는데 서버에 올리니까 오류나요

728x90

서버 업로드 할 때 잊지 말아야할 것! 이 중에 놓친 것이 있는 지 살펴보기.

 

 

간단요약

: 이미 서버에 다른 게 있다면 삭제해주기. 

: 서버에도 패키지 설치해주기 (pip install)

 

 

1.  이미 서버에 다른 것을 돌리고 있는 경우

: 터미널에 들어가서 중지해준다.

: 웹브라우저에 들어가보고 중지됐는지 확인한다.

: 파일질라에서 삭제해준다.

 

<이미 있는 파일 삭제하기 순서>

  1. 터미널 열기
  2. //* Mac 일 경우에만 하고 Window는 3번으로 넘어가면 된다.
    
     sudo chmod 400 받은키페어를끌어다놓기
    
    //엔터 치고 열쇠모양 나오면 안 보이더라도 비밀번호 치고 엔터 누르면 다음으로 넘어간다.
    //(GUI가 눈에 보이지는 않지만 제대로 비밀번호가 잘 들어가고 있다.)
  3. ssh -i 받은키페어를끌어다놓기 ubuntu@AWS에적힌내아이피

 

여기까지 해서 접속 완료가 되었고 다음 명령어를 사용하여 kill 해주면 된다.

 

# 아래 명령어로 미리 pid 값(프로세스 번호)을 본다
ps -ef | grep 'app.py'

# 아래 명령어로 특정 프로세스를 죽인다
kill -9 [pid값]

 

kill 이 완료 되었으니 파일질라에가서 원래있던 파일을 삭제해준다.

 

delete를 누르면 삭제가 되었다.

 

 

2.  IDE에서 설치했던 패키지를 터미널에서도 설치했는지 꼭 확인하기

로컬에서는 잘 됐는데 서버에 업로드하니까 왜 안 되는지 모르겠다면 꼭 확인해야한다. 로컬에서 패키지가 없으면 오류가 났던 것 처럼 서버에서도 똑같이 패키지를 깔아주어야한다. 

 

<서버에 패키지 설치하기 순서>

  1. 터미널 열기
  2. sudo chmod 400 받은키페어를끌어다놓기 
    * 엔터 치고 열쇠모양 나오면 안 보이더라도 비밀번호 치고 엔터 누르면 다음으로 넘어간다. 
    (GUI가 눈에 보이지는 않지만 제대로 비밀번호가 잘 들어가고 있다.) 
    * Mac 일 경우에만 하고 Window는 3번으로 넘어가면 된다.
  3. ssh -i 받은키페어를끌어다놓기 ubuntu@AWS에적힌내아이피

 

여기까지 해서 접속 완료가 되었고 다음 명령어를 사용하여 패키지를 설치해주면 된다. pip install 을 사용하여 로컬에서 설치했었던 패키지들을 서버에도 설치해준다. 

 

pip install flask(원하는 패키지 이름)

 

패키지가 설치되었다면 실행해본다.

 

#현재위치 확인
ls

# app.py가 있는 폴더로 들어간다. 
cd 들어갈폴더이름

# 파이썬 실행
python app.py

 

잘 실행이 되고 서버를 계속 유지하고 싶다면 다음을 사용한다.

 

# 아래의 명령어로 실행하면 된다
nohup python app.py &

 

서버를 종료하려면  다음을 사용한다.

 

# 아래 명령어로 미리 pid 값(프로세스 번호)을 본다
ps -ef | grep 'app.py'

# 아래 명령어로 특정 프로세스를 죽인다
kill -9 [pid값]

 

728x90