EC2로 생성한 Ubuntu 서버에 파이썬으로 작성한 파일을 옮겨서 실행을 해보자.
보통 깃헙에 파일을 올려놓고 그걸 서버에서 받아 실행하는 경우가 많다는데 이번에는 내려받을 파일이 하나만 있어서 굳이 그렇게 할 필요가 없다고 강의에서 설명했다. 그래서 FilZilla를 이용해서 Ubuntu서버로 파일을 옮기는 방법을 사용했다.
먼저 FileZilla를 다운받고 실행한다.
그 다음 사이트 관리자를 실행한다. 좌상단에 있는 기기가 연결되어 있는 아이콘을 클릭하면 된다.(Mac용 기준)
새 사이트를 클릭하면 우측 화면이 활성화 된다. 프로토콜은 SSH로 접속할 것이므로 SFTP로 설정하고 호스트에는 EC2 인스턴스의 퍼블릭IP를 입력한다. 로그온 유형은 키파일, 사용자명은 ubuntu로 한다. (만든 인스턴스가 Ubuntu서버가 아닌 경우 그에 맞는 사용자명 입력)
연결을 클릭
연결이 성공하면 위와 같이 나온다. 로컬 사이트에 있는 파일을 리모트 사이트로 옮길때 그냥 로컬사이트에 있는 파일을 더블클릭하면 리모트 사이트로 전송된다. 나는 이미 서버에서 파일을 실행해봐서 옮겨져 있는 상태다.
Ubuntu서버에는 이미 Python이 설치되어 있는 상태이므로 파이썬 패키지 관리자인 pip를 인스톨한다.
sudo apt-get install python3-pip
파이썬 파일 실행에 필요한 패키지들을 모두 pip install로 설치해준다. 모든 패키지가 설치됐으면 python3 파일이름 으로 실행한다. 나는 이때 에러가 발생했다. 읽어보니 설치한 패키지 중에 apscheduler가 작동하지 않는것 같았다. 구글링 결과 timezone에 대한 이슈인것 같아서 Ubuntu서버의 타임존을 Seoul로 바꿔줬다. 타임존을 바꾸기 위해서는 여러 방법이 있는데 나는 tzdata 패키지를 이용했다.
sudo apt-get tzdata
초기에 이 패키지를 설치하면 바로 timezone에 대한 설정을 하는 화면이 나온다. 이때 Seoul로 선택하여 완료하면 끝!
처음에 확인했을때 timezone이 UCT로 설정되어있었지만 KST로 바뀐것을 확인할 수 있다.
나중에 timezone을 다시 설정할때는
dpkg-reconfigure tzdata
이 커맨드로 가능하다.
timezone설정이후에 파이썬 파일이 잘 실행되었다.
* 터미널을 종료해도 백그라운드에서 파일이 실행되게 하는 법
nohup python3 파일이름 &
'Development > AWS' 카테고리의 다른 글
[AWS]EC2 인스턴스에 파일 전송하기(1/2) - 인스턴스 생성 및 Ubuntu 접속 (0) | 2019.06.21 |
---|