Heroku 호환 어플리케이션을 VPS의 Dokku 환경에 개발

6771 단어 dokkuGo

개시하다


개인개발은 Heroku보다 Doku를 사용하도록 하겠습니다.의 보도에 감화되어 자체 제작 서비스를 도쿠에 개발·운용한다.도쿠를 움직이는 서버에 벚꽃의 VPS를 사용했다.
이 문서에는 Dokku 환경에서 애플리케이션을 디버깅하기 전의 단계가 나와 있습니다.

활용 서비스 기술

  • 벚꽃을 이용한 VPS
  • 도쿠의 하위 도메인 기능을 활용하려면 이름을 입력하십시오.com에서 도메인 이름 구매
  • 절차.


    VSS 설정


    이동식 Dokku에 대한 VPS 설정
    필자는 이용했다벚꽃의 VPS..
    서버를 구축한 후 여기. 등을 참고하여 서버의 초기 설정을 진행하십시오.

    VPS 설정[주의점]


    Dokku를 사용할 때는 다음 사항이 있습니다.

    1. Dokku가 Ubuntu가 아니면 이동하지 않음(CentOS NG)


    여기.의 공식 참고와 같이 현재(2018년 3월 시점) Ubuntu16.04 또는 Ubuntu 14.04 Debian 시스템만 지원됩니다.CentOS 6은 지원되지 않으며 CentOS 7에는 experimental 버전이 있지만 불안정하고 문서가 거의 없습니다.
    이것을 파악하지 못했습니다. CentOS 6에서 Ubuntu가 시작되었습니다...

    2. 기본적으로 HTTP는 iptables에서 닫히고 켜야 합니다.


    벚꽃의 VPS Ubuntu에서 iptables의 기본 설정은 다음과 같습니다. HTTP 등이 꺼지고 열어야 합니다.
    /etc/iptables/iptables.rules
    *filter
    :INPUT ACCEPT [0:0]
    :FORWARD ACCEPT [0:0]
    :OUTPUT ACCEPT [0:0]
    -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
    -A INPUT -p icmp -j ACCEPT
    -A INPUT -i lo -j ACCEPT
    -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
    -A INPUT -j REJECT --reject-with icmp-host-prohibited
    -A FORWARD -j REJECT --reject-with icmp-host-prohibited
    COMMIT
    
    열기 방법은 여기. 등을 참고하세요.

    추가 도메인 이름을 VPS(Volume Library)에 연결


    Dookku의 하위 도메인 자동 생성 기능성함이 어떻게 되십니까?com을 효과적으로 활용하기 위해 구매한 도메인을 Sakura의 VPS와 연결합니다.

    앵두의 VPS 도메인 설정


    벚꽃의 VPS 콘솔 화면의'이름 서버 로그인'탭에서 이름 서버 설정 화면을 열고 아래 그림처럼 독립역에서'*'항목과'@'항목을 A 기록으로 로그인합니다.

    성함이 어떻게 되십니까?com에서 설정


    벚꽃 VPS의 이름 서버 등록에 기재된 DNS 서버의 도메인 이름입니다.com의 대상 독립된 도메인 이름의 '서버 이름 바꾸기' 창에서 다음 그림으로 설정합니다.

    위의 설정에서 VPS는 Dook에서 자동으로 생성되는 하위 도메인에 대한 요청을 수락했습니다.

    Dokku 설치 및 설치


    Dokku 설치


    사쿠라의 VPS에 도쿠를 설치합니다.
    Dokku의 공식 페이지 아래 명령에 따라 설치
    $ wget https://raw.githubusercontent.com/dokku/dokku/v0.11.6/bootstrap.sh
    $ sudo DOKKU_TAG=v0.11.6 bash bootstrap.sh
    

    Dokku에 SSH 키 설정


    설치가 완료되면 Dokku에 대한 디버깅을 위해 SSH 키가 설정됩니다.
    VPS 도메인 이름 상단에 액세스하면 다음 이미지와 같이 Dokku의 설정 페이지가 표시됩니다.

    퍼블릭 키의 설정은 gitHub로 ssh 연결하기 ~ 공개 키, 기밀 키 생성부터 ~ 등의 글과 같은 요령 설정이다.
    Hostname에 위에서 설정한 독립 도메인 이름을 입력하십시오. 이번에는 Dookku의 하위 도메인 기능을 사용하려면 "Use virtualhost naming for apps"를 선택하십시오.
    또한 이러한 설정은 서버에 Dokku를 설치할 때/home/dokku/.ssh 생성된 경로에서 확인하고 재설정할 수 있습니다.

    Dook에 애플리케이션 적용


    Dokku에 어플리케이션을 개발합니다.
    본 보도는 응용명을 예로 들다.

    Dokku에서 어플리케이션 생성


    앞으로 디버깅할 애플리케이션을 VPS를 사용하여 Dokku 명령에 만듭니다.
    # dokku apps:create myapp
    

    로컬 장치 디버깅


    Dooku는 Heroku여기.와 호환되기 때문에 프로그램의 루트 디렉터리에 Procefile 파일을 준비합니다.
    응용 프로그램의 루트 디렉토리에서 Dookku로 디버깅합니다.
    $ cd myapp
    $ git remote add dokku [email protected]:myapp
    $ git push dokku master
    
    아래처럼 끝나면 depro를 성공적으로 진행합니다!어플리케이션이 작동하는지 확인합니다.
    =====> Application deployed:
           http://myapp.your-root-domain.com
    

    보태다


    필자는 고 언어LINE Message API의 SDK를 이용해 봇 애플리케이션 API를 제작해 듀크쿠로 설계했다.
    다음은 그것에 대한 보충 내용이다.

    어플리케이션 HTTPS화


    Line Bot의 메시지 API를 사용하려면 응용 프로그램 HTTPS가 필요합니다.
    Dokku는 HTTPS가 매우 쉬운 플러그인dokku-letsencrypt을 가지고 있다.
    Usage에서 보듯이 2개의 지령만으로 응용 프로그램 HTTPS를 만들 수 있어 매우 편리하다.

    Go 언어 응용 프로그램을 Dook(Heroku)/vender 디렉터리로 설계하려면git에 포함되어야 합니다


    제3자를 사용하는 Go 언어 앱을 독(Heroku)으로 설계하기 위해서는 dep 등 의존 관리 도구를 사용해야 한다.
    이 때 생성된 디렉터리 /vender 가git에 포함되지 않으면 디버깅을 할 수 없습니다.필자는gitignore 파일 /vender 에 디렉터리가 포함되어 있기 때문에 실패했습니다.
    여기.의 글이 나를 도왔다.

    끝말


    VPS 설정 전에 Dook으로 응용 프로그램을 디버깅하기 전의 단계를 기록합니다.
    도쿠의 환경 변수 설정과 로그 취득 등은 이 기사에서 다루지 않았기 때문에 다른 기사를 소개해 줬으면 좋겠다고 생각했다.

    참고 자료

  • https://qiita.com/gn_spawn/items/712349b5b0ebaf4b0203
  • https://help.sakura.ad.jp/hc/ja/articles/206208181
  • http://dokku.viewdocs.io/dokku/getting-started/installation/
  • https://www.digitalocean.com/community/tutorials/how-to-set-up-a-firewall-using-iptables-on-ubuntu-14-04
  • http://nirasan.hatenablog.com/entry/2016/07/29/184454
  • 좋은 웹페이지 즐겨찾기