Phoenix Framework 개발 환경 구축 with Ubuntu 16.04

4389 단어 ElixirPhoenix

처음에



최근 취미로 Unity 관련 개발을 시작했습니다. 이와 관련하여 실시간 통신의 중개역이 되는 서버 앱을 Elixir+Phoenix Framework로 구축을 진행하고 있습니다. 이 기사는 환경 구축시의 망비록입니다. 타이틀대로입니다만, 이 기사에서는 Vagrant로 초기화한 Ubuntu상(Ubuntu 16.04)에서 Phoenix Framework용의 개발 환경을 정돈하는 곳까지 진행합니다. 버전이나 프로젝트 이름, 데이터베이스 이름 등은 필요에 따라 변경하십시오.

종속성



Phoenix Framework를 사용하여 개발 환경을 구축하려면 Elixir가 도입되었으며 물론 Node.js와 데이터베이스가 설정되어 있어야합니다. 자쿠트입니다만, HelloWorld 하기 위해서는 아래와 같은 패키지가 필요합니다.
  • Phoenix Framework
  • Elixir
  • Node.js
  • Postgres (첫 번째 HelloWorld에 필요)


  • 절차



    필요한 패키지 설치



    inotify-tools는 Phoenix가 파일 변경을 자동으로 감지하고 다시로드하는 데 필요합니다.
    없이도 움직이지만 런타임에 오류가 발생합니다.
    
    $ sudo apt install wget curl git vim inotify-tools
    

    Erlang 도입



    필자 환경에서는 erlang 설치중에 Hash Sum mismatch와 나왔습니다만, apt update 다시 한번 치료했습니다.
    
    $ wget https://packages.erlang-solutions.com/erlang-solutions_1.0_all.deb
    $ sudo dpkg -i erlang-solutions_1.0_all.deb
    $ sudo apt update
    $ sudo apt install -y erlang
    

    Elixir 배포 (exenv를 통해)


    
    $ git clone git://github.com/mururu/exenv.git .exenv
    $ git clone git://github.com/mururu/elixir-build.git ~/.exenv/plugins/elixir-build
    $ echo 'export PATH="$HOME/.exenv/bin:$PATH"' >> ~/.bashrc
    $ echo 'eval "$(exenv init -)"' >> ~/.bashrc
    $ source ~/.bashrc
    $ exenv install 1.6.6
    $ exenv global 1.6.6
    

    Node.js 소개 (nvm을 통해)



    phoenix.new 할 때 Node.js(또는 npm..?)가 필요합니다.
    여기에 넣어 둡시다.
    
    $ curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash
    $ nvm install v8.11.3
    $ source ~/.bashrc
    

    PostgresDB 빌드 (Docker를 통해)



    Docker를 통해 PostgreSQL 서버를 로컬로 설정합니다.
    DB가 시작되지 않으면 아래에 설명된 서버를 시작할 때 오류가 발생합니다.
    
    $ curl -fsSL get.docker.com -o get-docker.sh
    $ sh get-docker.sh
    $ sudo usermod -aG docker $(whoami)
    $ docker run -d --name postgres -p 5432:5432 -e POSTGRES_DB=hello_phoenix_dev postgres:9.6
    

    Phoenix Framework 소개


    
    # Package manager hexの導入
    $ mix local.hex
    $ mix archive.install https://github.com/phoenixframework/archives/raw/master/phoenix_new.ez
    

    프로젝트 만들기


    phoenix.new 하면 Fetch and install dependencies? 라고 묻습니다.
    Y를 눌러 종속성을 넣으십시오.
    mix phoenix.server 에서 서버 앱이 시작됩니다.
    최초의 기동은, 생성된 소스를 컴파일 하기 때문에 조금 시간이 걸리는 것 같습니다.
    
    $ mix phoenix.new hello_phoenix
    $ cd hello_phoenix
    # サーバー起動
    $ mix phoenix.server
    

    확인



    서버를 기동하면 4000번으로 LISTEN되므로, http://(머신의 주소):4000로 액세스 해 봅시다.
    아래와 같은 화면이 나오면 HelloWorld 성공입니다.

    좋은 웹페이지 즐겨찾기