'ubuntu'에 해당되는 글 1건

나도 클라우드에 개발환경을 가져보자(#1)

리눅스랑 친해보고 싶어서 매일매일 아래 과정을 1번부터 계속 해보고 있습니다 :)

내용 중에 틀린 부분이 있을 수 있고, 시간상 이해없이 넘어간 부분도 있습니다.

0. 클라우드 서비스에 가입하자

vps 를 제공받을 수 있는 클라우드 서비스에 가입한다. 
나는 conoha 에서 서비스를 받고 있는데, 테스트 서버 사양으로 한달에 690엔입니다.
네트웍 트래픽은 무제한이다!! 
1시간에 1엔정도 인데… 아직 돌릴만한 서비스도 없고 
쓸때만 쓰고, 그외는 삭제시켜버린다. 
몇 번이고 만들었다, 삭제하는 것을 반복해볼 수 있어서 좋다.

아래 링크를 통해 들어가면, 일본어가 떠서 정신없다.

  • 한국어로 바꿔주고 회원가입한다.
  • 안심이 되는 것은 포인트를 충전해서 쓸 수 있다는 것이다.
  • AWS 달리 나와같은 초짜가 의도치않게 과금폭탄 고지서를 만날일이 없다는 것에 대담해질 수 있다.

ConoHa 에 가입시에 아래 링크로 가입하면, 사용에 따른 쿠폰이 지급된다.

ConoHa를 지인분께 소개하시고 선물 쿠폰을 받으세요. 
지인분께서 2,000엔 상당의 ConoHa 서비스를 이용하시면, 소개자 분께 각각 2,000엔씩 선물 쿠폰을 드립니다.

https://www.conoha.jp/referral/?token=30kMggaB1XdoYEnxbFfpOPOursdQuUAW7Iwlg6ZUgbeYIgYdx8s-13P 
위 링크를 누르시면, 기본언어인 일본어로 나와서 정신없다. 
한국어로 바꿔주고 회원가입한다. 
나는 신용카드로 1000엔 정도의 포인트를 충전하여 포인트로 사용료 지불하는 식으로 하고 있다.


1. conoha 에서 서버 추가하기

기본적으로 제일 싼놈으로 설정되어 있는데,

  • cpu 1core
  • SSD 20GB
  • memory 512mb
  • 630엔/월
  • Os Ubuntu 16.04(64bit) 
    를 선택한다. 
    1시간에 1엔하는 착한 녀석이다.

    root 패스워드는 필수 입력 사항이다. (대소문자, 특수문자가 필수로 알고 있다) 
    추가하기 누르면 끝!!

    약 20초 정도 지나면, 고정 서버접속가능한 ip를 받을 수 있다.


2. ssh를 통해 접속을 한다.

저 같은 경우는 개인적인 사정으로 모바일환경에서 개발을 합니다.ㅠ

  • 갤럭시탭s2 에서 Termux 라는 앱을 설치하고 블루투스 키보드를 이용한다.
  • Termux 가 리눅스환경을 제공하긴 하지만, 쓰다가 보니, 제한도 많고, 다르다. 
    flask(파이썬 웹서버) 를 통해 로컬서버를 띄우고 간단히 만져볼 정도는 된다.

  • conoha 에서 서버를 추가하고 받은 고정ip(xxx.xx.xxx.xx)를 이용해서 아래와 같이 입력한다.

$ ssh root@xxx.xx.xxx.xx
  • 이어서 conoha 에서 서버추가시 설정했던 패스워드를 입력하면, 접속이 된다.

3. 우분투 사용자 계정 생성

매번 root로 사용하면 찝찝하니… 리눅스와 친해질겸 매일 하는 과정에 포함시킨다.

root@xxx.xx.xxx.xx:~# adduser dev1

: 비밀번호 입력하라고 나온다.

root@xxx.xx.xxx.xx:~# usermod -G sudo dev1

: dev1 에 sudo 권한 부여하기위해 sudo라는 그룹의 권한을 추가해 준 것임. 
(참고 : http://kanziw.com/133 )

root@xxx.xx.xxx.xx:~# su dev1

: su는 switch user 이다. 맞나?

dev1@xxx.xx.xxx.xx:~$

: #에서 $로 프롬프트가 바뀌었다. root 계정에서 그외 계정으로 바뀌면 바뀌는 걸로 알고 있다.


4. python 버젼 확인

$ python --version

을 해보면, 2.7.12 가 기본으로 설치되어 있는 것을 확인했다.


5. pip 설치

pip 이것저것 편리하게 python 관련 프로그램을 설치해 주는 편리한 도구이다.

$ sudo apt-get install python-pip
$ pip --version

: 현재 python 버젼이 2 이므로 pip는 python2 버젼 기준으로 되어 있다.


6. virtualenv 설치

virtualenv 는 프로그램을 설치할 때, 시스템에 등록이 되는데, 여러 버젼이 설치되면 
개발환경이 꼬이게 된다. 그래서, 개발환경 ID를 정해놓고, 그 ID로 이름지어진 공간에만 
프로그램 환경변수 등이 등록되어 개발환경이 ID별로 달리 적용할 수 있도록 해주는 
편리한 프로그램 이다. 
이것을 설치해서 python2, python3 을 구분해서 사용하겠다.

$ sudo pip install virtualenv
$ mkdir dev_space
$ cd dev_space
$ mkdir proj1
$ pwd
/home/dev1/dev_space/proj1
$ virtualenv .venv_py2
: venv_py2 로 구분할 개발환경 이름를 정했다.
이름을 .venv_py2로 해줬다. 필수는 아니지만, .을 붙여줌으로서 일반폴더와 구분이된다.
$ . .venv_py2/bin/activate
(.venv_py2) $

: 활성화 시킨다. 
앞에 (.venv_py2) 라고 “이 개발환경은 .venv_py2 라는 환경이야” 라고 설명이 나와있다.

(.venv_py2) $ sudo apt-get install python-dev \
build-essential libssl-dev libffi-dev \
libxml2-dev libxslt1-dev zlib1g-dev
: 줄줄이 설치 된다.
다시 환경을 빠져나가서 python3 환경을 만들어보자
(venv_py2) $ deactivate
$
: 나만의 개발환경에서 빠져나왔다.
다시 들어가려면, venv_py2 상위폴더에서
$ . venv_py2/bin/activate

: 를 실행해주면, 다시 venv_py2 라고 이름 붙이 개발환경으로 셋팅된다.

연습 겸 python3 버젼으로 설정해보자.

$ virtualenv venv_py3
$ . venv_py3/bin/activate
(venv_py3) $ sudo apt-get install python3 python-dev python3-dev \
build-essential libssl-dev libffi-dev \
libxml2-dev libxslt1-dev zlib1g-dev \
$ sudo apt-get install python3-pip
$ python3 --version
$ pip3 --version

: 이렇게 설치로 py2, py3를 구분하는게 맞는지는 나중에 알아보고 일단 계속 진행하겠다.


7. Hello world 찍어보자

$ vim hello.py
: vim 편집기를 이용해서 print(“hello world”)
vim 사용법은 각자…
$ python hello.py

로 실행시켜 본다.


8. 달랑 한 줄이지만 github 에 올려보자.

$ cd ~/dev_space/proj1
$ git init
$ vim hello.py

i 키를 누르면, 입력모드 
esc 키를 누르면, 커맨드 모드 
esc 키를 누르고 :wq 라고 입력하면 저장 된다.

$ python hello.py
$ git status

: 를 해보니, .venv_py2 폴더가 보인다. 예외처리 하자.

$ vim .gitignore
.*/
.*

이렇게 입력하고, 저장하고 다시

$ git status

하면 내용이 안보인다.

$ git add hello.py
$ git commit -m "first commit"

라고 하면, 내가 누군지 알려달라고 git config 를 통해 설정하라고 메세지가 나온다.

$ git config --global user.email "ohnewdev@gmail.com"
$ git config --global user.name "ohnew"
$ git remote add mytwisted https://github.com/ohnewdev/learnTwisted.git
$ git remote -v
$ git pull mytwisted master
$ git status
$ git commit -m "ok commit"
$ git push mytwisted master

: 잘반영된다.

다음 to do… 
eclipse che, vim 로 코딩환경 개선하기... 


'프로그래밍 > Python' 카테고리의 다른 글

나도 클라우드에 개발환경을 가져보자(#2)  (0) 2018.03.08
블로그 이미지

ohnewdev

배워서 남주자

,