PHPer, Elixir + Phoenix 환경 구축

3850 단어 ElixirPhoenix

개요



백엔드 프로그램 학습으로 Elixir을 사용하여 응용 프로그램을 만들어 보려고합니다.
그래서 Elixir에 대해 공부해 본 것을 정리해 갑니다.

※잠시 동결하고 있던 것을 움직였으므로 정보는 낡습니다.

Elixir이란?



Elixir는 Erlang VM에서 실행되는 함수형 언어입니다.
Elixir의 특징은 다음과 같습니다.
  • 스케일하기 쉬운
  • 내결함성이 높음 (결함 허용)
  • 함수형 프로그래밍
  • 확장하기 쉬운

  • 환경 구축


  • Erlang 관련 패키지 도입
  • sudo yum install ncurses ncurses-devel openssl openssl-devel gcc-c++ unixODBC unixODBC-devel fop *openjdk-devel inotify-tools
    
  • 작업 디렉토리 만들기 및 이동
  • mkdir work
    cd work/
    
  • Erlang의 최신 코드 (2017/01/14 현재 19.2)를 다운로드하고 압축을 풉니 다
  • wget http://erlang.org/download/otp_src_19.2.tar.gz
    tar -zxf otp_src_19.2.tar.gz
    
  • 빌드 및 설치
  • cd otp_src_19.1/
    ./configure
    make
    sudo make install
    
  • Erlang이 들어갔는지 확인
  • erl -version
    
  • Elixir 소스 코드 다운로드 및 압축 해제 (해동은/opt/elixir로)
  • cd ..
    wget https://github.com/elixir-lang/elixir/releases/download/v1.4.0/Precompiled.zip
    sudo unzip Precompiled.zip -d /opt/elixir
    
  • PATH에 추가하여 재부팅
  • sudo vim ~/.bash_profile
       (以下追記)
       export PATH=/opt/elixir/bin:$PATH
    sudo reboot
    
  • Elixir가 들어갔는지 확인
  • $ elixir -v
    
  • 패키지 관리 도구 Hex를 표준 빌드 도구 mix로 설치
  • $ mix local.hex
    
  • 웹 프레임 워크 Phoenix를 mix로 설치
  • $ mix archive.install https://github.com/phoenixframework/archives/raw/master/phoenix_new.ez
    

    이것으로 먼저 설치가 완료됩니다.

    애플리케이션 준비



    응용 프로그램을 빌드합니다.
    이때 DB를 지정하지 않으면 PostgreSQL이 설치됩니다.
    mix phoenix.new elixir_blog  --no-brunch --database mysql
    



    설치가 완료되면 위 화면이 표시됩니다.
    그대로 mix phoenix.server를 실행해도 DB가 없어 오류가 발생합니다. 따라서 다음은 DB를 구축합니다.

    DB를 구축하기 위해 mysql 에 DB를 만듭니다.
    $ mix ecto.create
    The database for ElixirBlog.Repo has been created
    

    이제 시작할 준비가 되었습니다.
    이제 Phoenix를 시작합니다.
    $ mix phoenix.server
    [info] Running ElixirBlog.Endpoint with Cowboy using http://localhost:4000
    
    http://localhost:4000에 액세스하면 기본 화면이 표시됩니다.



    이것으로 환경 구축은 할 수 있었습니다.
    앞으로 개발하겠습니다.

    이상, 끝까지 읽어 주셔서 감사합니다.

    참고


  • Phoenix + Vue.js 입문
  • 【입문】Elixir + Phoenix + MySQL 로 API 서버
  • 좋은 웹페이지 즐겨찾기