개인서버가 점검중이라 기존에는 pythonanywhere 를 통하여 랜딩봇을 돌려왔습니다.

간단하게 설정 및 봇 재부팅이 가능했지만 무료사용자의 일부 기능 한계와 poloniex 에서 자주 timeout 문제로 다른 봇(node.js) 으로 갈아타야 하는

생각을 했으나 마찬가지로 timeout 문제와 일부 코인을 미지원(STR) 하는 문제가 있었습니다.

(timeout 이 지속적이면 pythonanywhere 의 cpu 사용률이 올라가면서 1일 제한에 걸릴수 있음)

 

그래서 조금 더 안정적으로 운영하기 위해 서버가 점검될 동안 무료 클라우드 플랫폼을 이용해 보기로 했습니다.

 

많이 아시다시피 일부 클라우드 플랫폼에서 무료 이용(최대 1년)을 할 수 있는 체험판 제도를 운영하고 있는데, 아마존의 경우 새로 가입을 해야 하고

스마트폰을 사용하면 다들 가지고 있는 구글 계정을 통해 바로 이용할 수 있기에 구글 클라우드를 이용하기로 했습니다.

 

https://steemit.com/kr/@pitasa/5eq6d9 를 참고 하여 VM 인스턴스 생성까지 진행하세요

 

개인적으로 윈도우 서버를 별로 사용해 본적이 없고, 윈도우 기반의 VM 을 생성하면 월 사용료가 지불되기 때문에

무료 사용 기간(300$ 의 크래딧)이 짧아 질수 있습니다.

 

# https://cloud.google.com/compute/pricing

 

그래서 리눅스로 진행하였습니다.

 

 

만들어진 VM 에 접속하여 봇 셋팅을 위해 연결 SSH 에서 브라우저 창에서 열기를 통해 콘솔창을 열어 줍니다.

(putty 를 이용하실려면 다른 SSH 클라이언트 사용을 통해 개인키로 인증받아 사용하세요)

 

 

pythonanywhere 와 비슷한 콘솔창이 나옵니다.

진행할 내용은 리눅스 업데이트 -> git clone 명령어로 봇 소스 동기화 -> default.cfg 설정 -> 방화벽 셋팅으로 웹서비스 활성화 ->

백그라운드에서 봇 실행 입니다.

 

먼저 리눅스 업데이트를 진행합니다.

sudo su 명령어를 입력하여 root 권한을 획득 합니다.

apt-get update 를 통해 업데이트할 목록을 가져온뒤 apt-get upgrade 를 통해 업데이트를 진행합니다. (커널 업데이트는 apt-get dist-upgrade)

 

 

# 2017/06/06 - [Etc] - pythonanywhere 를 이용한 poloniex lending bot 돌리기 를 참고하여

git clone 명령어를 통해 봇 소스를 동기화 -> default.cfg 생성 -> api 키 입력까지 동일하게 진행합니다.

 

api 키 입력후 추가적으로 웹 서비스 활성화를 위해 default.cfg 에서 다음의 항목의 변경 및 주석 제거를 진행합니다.

 

 

(0.0.0.0 주소는 유지, 포트는 임의 변경)

 

이제 봇 세팅은 끝났습니다.

python lendingbot.py 명령어를 통해 봇을 실행해 봅니다.

 

 

웹서버가 시작되었다는 메세지와 함께 로그를 확인할 수 있는 웹주소가 표시 됩니다.

하지만 해당 주소로 접속을 하기 위해서는 별도로 방화벽 설정이 필요 합니다.

(봇은 방화벽과 무관하게 작동하니 폴로닉스 랜딩 페이지에서 확인필요)

 

생성된 VM 의 이름을 클릭하면 세부 정보를 확인할 수 있습니다.

 

 

네트워크의 default 를 클릭 합니다.

 

 

방화벽 규칙 추가를 클릭합니다.

임의의 이름을 넣고 , 대상(네트워크의 모든 인스턴스) , IP 범위(0.0.0.0/0) , 지정된 포트 (tcp:@@@@) 으로 설정한뒤 만들기를 클릭합니다.

(@@@@은 봇의 default.cfg 에서 입력한 포트)

 

VM 인스턴스 목록에서 생성한 VM 의 외부 IP 주소를 통해 http://외부IP:@@@@/lending.html 으로 접속을 하여 정상적으로 봇이 실행되고 있는지 확인합니다.

(정상적으로 접속이 되면 폴로닉스의 API 에서 봇의 IP 주소를 허용된 IP 에 추가해 주세요)

 

봇이 정상적으로 실행이 된다면 (일단 종료한뒤)

이제 VM 의 콘솔창을 닫았을때 백그라운드에서 계속 실행되도록 nohup 명령어를 통해 실행되도록 설정합니다.

 

 

요약하자면

start.sh 라는 스크립트를 만드는데 내용은 python lendingbot.py & (백그라운드에서 돌수 있도록)

이 스크립트에 대해 권한을 755 를 주고 nohup 으로 start.sh 를 실행

 

 

정상적으로 백그라운드에서 실행되고 있는지 ps -ef 명령어를 통해 실행되고 있는 프로세스를 확인합니다.

(백그라운드에서 실행되는 프로세스를 종료하실려면 kill pid숫자 입력을 통해 종료하셔야 합니다.)

 

참고할 사이트

https://steemit.com/kr/@pitasa/5eq6d9

http://jerrysama.tistory.com/72

http://changpd.blogspot.kr/2013/04/linux-nohup-xxxsh.html

저작자 표시 비영리 변경 금지
신고

티스토리 툴바