웹사이트 검색

Ubuntu 14.04에서 Ruby on Rails 애플리케이션과 함께 PostgreSQL을 사용하는 방법


소개

Ruby on Rails는 기본 데이터베이스로 sqlite3를 사용합니다. 이는 많은 경우에 훌륭하게 작동하지만 응용 프로그램에는 충분하지 않을 수 있습니다. 응용 프로그램에 PostgreSQL 또는 MySQL과 같은 클라이언트/서버 SQL 데이터베이스에서 제공하는 확장성, 중앙 집중화 및 제어(또는 기타 기능)가 필요한 경우 몇 가지 추가 단계를 수행하여 실행해야 합니다.

이 튜토리얼에서는 애플리케이션이 Ubuntu 14.04 서버에서 PostgreSQL 데이터베이스를 사용할 수 있도록 개발 Ruby on Rails 환경을 설정하는 방법을 보여줍니다. 먼저 PostgreSQL을 설치하고 구성하는 방법을 다룰 것입니다. 그런 다음 PostgreSQL을 데이터베이스 서버로 사용하는 Rails 애플리케이션을 만드는 방법을 보여줍니다.

전제 조건

이 자습서를 사용하려면 Ruby on Rails 개발 환경이 작동해야 합니다. 아직 가지고 있지 않은 경우 Ubuntu 14.04에서 rbenv로 Ruby on Rails를 설치하는 방법 링크의 자습서를 따를 수 있습니다.

또한 PostgreSQL 데이터베이스 소프트웨어를 설치할 수 있도록 수퍼유저 또는 sudo 계정에 대한 액세스 권한이 있어야 합니다.

준비가 되면 PostgreSQL을 설치하겠습니다.

PostgreSQL 설치

아직 PostgreSQL을 설치하지 않았다면 지금 설치해 보겠습니다.

먼저 apt-get을 업데이트합니다.

  1. sudo apt-get update

그런 다음 PostgreSQL과 해당 개발 라이브러리를 설치합니다.

  1. sudo apt-get install postgresql postgresql-contrib libpq-dev

이제 PostgreSQL이 설치되었지만 Rails 애플리케이션에서 사용할 새 데이터베이스 사용자를 생성해야 합니다.

데이터베이스 사용자 생성

다음 명령을 사용하여 PostgreSQL 수퍼유저 사용자를 생성합니다(강조 표시된 단어를 자신의 사용자 이름으로 대체).

  1. sudo -u postgres createuser -s pguser

데이터베이스 사용자의 암호를 설정하려면 다음 명령을 사용하여 PostgreSQL 콘솔에 들어가십시오.

  1. sudo -u postgres psql

PostgreSQL 콘솔은 postgres=# 프롬프트로 표시됩니다. PostgreSQL 프롬프트에서 다음 명령을 입력하여 생성한 데이터베이스 사용자의 암호를 설정합니다.

  1. \password pguser

프롬프트에 원하는 비밀번호를 입력하고 확인하십시오.

이제 다음 명령을 입력하여 PostgreSQL 콘솔을 종료할 수 있습니다.

  1. \q

이제 Rails 애플리케이션을 만들어 봅시다.

새 Rails 애플리케이션 만들기

홈 디렉터리에 새 Rails 애플리케이션을 만듭니다. -d postgresql 옵션을 사용하여 PostgreSQL을 데이터베이스로 설정하고 강조 표시된 단어를 애플리케이션 이름으로 대체해야 합니다.

  1. cd ~
  2. rails new appname -d postgresql

그런 다음 애플리케이션의 디렉토리로 이동합니다.

  1. cd appname

다음 단계는 애플리케이션의 데이터베이스 연결을 구성하는 것입니다.

데이터베이스 연결 구성

생성한 PostgreSQL 사용자는 애플리케이션의 테스트 및 개발 데이터베이스를 생성하는 데 사용됩니다. 애플리케이션에 적절한 데이터베이스 설정을 구성해야 합니다.

원하는 텍스트 편집기에서 애플리케이션의 데이터베이스 구성 파일을 엽니다. 우리는 vi를 사용할 것입니다:

  1. vi config/database.yml

default 섹션 아래에서 "pool: 5”라고 적힌 줄을 찾아 그 아래에 다음 줄을 추가합니다. 다음과 같이 표시되어야 합니다(강조 표시된 부분을 PostgreSQL 사용자 및 비밀번호로 대체).

  host: localhost
  username: pguser
  password: pguser_password

저장 및 종료.

애플리케이션 데이터베이스 생성

다음 rake 명령을 사용하여 애플리케이션의 developmenttest 데이터베이스를 생성합니다.

  1. rake db:create

이렇게 하면 PostgreSQL 서버에 두 개의 데이터베이스가 생성됩니다. 예를 들어 애플리케이션 이름이 "appname\인 경우 "appname_development\ 및 "appname_test\라는 데이터베이스가 생성됩니다.

이 시점에서 오류가 발생하면 이전 하위 섹션(데이터베이스 연결 구성)을 다시 방문하여 호스트, 사용자 이름비밀번호가 올바른지 확인하십시오. database.yml의 내용이 정확합니다. 데이터베이스 정보가 올바른지 확인한 후 응용 프로그램 데이터베이스를 다시 생성해 보십시오.

테스트 구성

애플리케이션이 PostgreSQL 데이터베이스를 사용할 수 있는지 테스트하는 가장 쉬운 방법은 실행을 시도하는 것입니다.

예를 들어 개발 환경(기본값)을 실행하려면 다음 명령을 사용합니다.

  1. rails server

이렇게 하면 포트 3000의 로컬 호스트에서 Rails 애플리케이션이 시작됩니다.

Rails 애플리케이션이 원격 서버에 있고 웹 브라우저를 통해 액세스하려는 경우 쉬운 방법은 서버의 공용 IP 주소에 바인딩하는 것입니다. 먼저 서버의 공용 IP 주소를 찾은 다음 다음과 같이 rails server 명령과 함께 사용합니다(강조 표시된 부분으로 대체).

  1. rails server --binding=server_public_IP

이제 포트 3000에서 서버의 공용 IP 주소를 통해 웹 브라우저에서 Rails 애플리케이션에 액세스할 수 있어야 합니다.

http://server_public_IP:3000

"Welcome aboard\ Ruby on Rails 페이지가 표시되면 애플리케이션이 올바르게 구성되고 PostgreSQL 데이터베이스에 연결된 것입니다.

결론

이제 Ubuntu 14.04에서 PostgreSQL을 데이터베이스로 사용하여 Ruby on Rails 애플리케이션 개발을 시작할 준비가 되었습니다!

행운을 빌어요!