웹사이트 검색

Ruby on Rails를 사용하는 방법 1-Click Install on


소개

루비. Ruby와 Rails를 모두 사용하면 확장 가능한 애플리케이션을 빠르게 구축하고 배포할 수 있습니다.

이 튜토리얼은 이 가이드를 완료한 후 DigitalOcean Ruby 튜토리얼을 사용하여 Ruby on Rails가 사전 설치된 DigitalOcean Droplet을 회전시키는 방법을 안내합니다.

원클릭 배포

Ruby on Rails 1-Click은 Ubuntu 20.04 Droplet에 다음 패키지와 함께 사전 설치되어 제공됩니다.

Package Version
Ruby 27.2
Rails 6.0.3.4
Puma 5.0.2
Postgres 12.4
Nginx 1.17.10
Node.js 12.19.0
Certbot 0.40.0

패키지 설치 외에도 이 1-Click은 다음을 처리합니다.

  • SSH(포트 22), HTTP(포트 80) 및 HTTPS(포트 442)에 대한 액세스만 허용하는 UFW 방화벽 활성화 .
  • rails 시스템 사용자를 생성하여 애플리케이션을 배포하고 rails 데이터베이스 사용자를 PostgreSQL과 연결합니다.
  • 설치된 소프트웨어를 사용하고 rails 사용자에게 로컬로 모든 Gem과 프로세스를 설치하도록 Ruby를 구성합니다.
  • 응용 프로그램 서버의 역방향 프록시 역할을 하는 로컬 UNIX 소켓으로 요청을 전달하도록 Nginx를 구성합니다.

이 글을 쓰는 시점에서 이 패키지는 Ruby on Rails 7.0.4.2 버전과 함께 Ubuntu 20.04 서버에서 실행 중입니다.

전제 조건

Ruby on Rails 1-Click을 브라우저에서 실행하려면 도메인 이름이 필요합니다. DNS 빠른 시작 가이드를 사용하여 DigitalOcean DNS를 사용하여 설정하는 방법을 알아볼 수 있습니다.

1단계 — Ruby on Rails Droplet 만들기

Ruby on Rails 1-Click Droplet을 만들려면 먼저 Ruby on Rails 애플리케이션 목록에서 찾으십시오. 이렇게 하면 DigitalOcean 제어판으로 이동합니다.

Droplet 생성을 시작하려면 Create Ruby on Rails Droplet 버튼을 누르십시오.

아직 DigitalOcean 계정에 로그인하지 않은 경우 계속 진행하려면 로그인해야 합니다. 계정이 없으면 가입하라는 메시지가 표시됩니다.

다음으로 드롭릿 만들기 페이지로 이동합니다. 여기에서 Ruby on Rails Droplet을 만들기 전에 서버 설정을 사용자 지정할 수 있습니다. 첫 번째 물방울을 만드는 방법에 대한 설명서에 필요한 모든 선택 사항이 자세히 설명되어 있지만 다음 섹션에서는 고려해야 할 주요 설정에 대해 설명합니다.

이미지 선택

이미지는 이미 Ruby on Rails가 선택된 마켓플레이스 탭으로 설정되어 있을 것입니다. 설정되지 않은 경우 Marketplace 탭으로 전환하고 키워드 검색 상자에서 Ruby on Rails를 검색합니다. 올바르게 설정되면 제어판은 다음과 유사합니다.

Ubuntu 20.04의 Ruby on Rails 7.0.4.2가 선택되었습니다. 아직 선택하지 않은 경우 검색 상자를 사용하여 Ruby on Rails를 검색합니다.

Ruby on Rails 이미지가 제대로 선택되면 기본값을 수락하거나 사용 사례에 따라 설정을 조정할 수 있습니다. 일반적으로 다음 변경 사항을 권장합니다.

데이터 센터 지역 선택

잠재적인 대기 시간을 방지하려면 사용자 기반에 가장 가까운 데이터 센터 지역을 선택하는 것이 좋습니다. 일부 지역에는 둘 이상의 데이터 센터가 있습니다. 이러한 동일한 지역 데이터 센터(예: SFO3 및 SFO2) 간에는 차이가 없습니다.

계획 선택

귀하에게 적합한 계획을 선택하십시오. 필요에 따라 Droplet의 크기를 조정할 수 있습니다. Ruby on Rails로 Droplet을 실행하려면 최소 1GB의 RAM이 있는 것이 좋습니다.

인증 방법 선택

인증 방법을 선택할 때 Droplet에 대해 암호 대신 SSH 키 옵션이 권장됩니다. SSH 키를 사용한 인증은 일반적으로 더 안전합니다.

추가 옵션 선택

향상된 메트릭 모니터링 및 알림을 Droplet에 추가하면 시간이 지남에 따라 Droplet 리소스 사용량을 추적하는 데 도움이 됩니다. 자동 백업 활성화를 고려할 수도 있습니다. 원하는 경우 나중에 다시 돌아와 이미 생성한 Droplet에서 백업 기능을 활성화할 수 있습니다.

호스트 이름 선택

Droplet에 \Ruby on Rails Droplet 1\과 같이 기억할 수 있는 식별 이름을 지정하거나 사용할 응용 프로그램의 이름을 따서 지정하십시오.

모든 선택을 마친 후 제어판 화면 하단에 있는 드롭릿 만들기 버튼을 누릅니다. Droplet이 생성되면 해당 IP 주소가 표시됩니다.

이 IP 주소는 Droplet에 연결하는 데 중요할 뿐만 아니라 원하는 향후 구성에도 중요합니다. IP 주소 위로 마우스를 가져가면 클립보드에 복사할 수 있습니다.

1-Click Marketplace를 통해 생성된 Droplet은 시작하기 링크를 눌러 액세스할 수 있는 추가 리소스와 함께 제공됩니다.

이렇게 하면 선택한 1-클릭과 관련된 추가 정보를 얻을 수 있는 새 패널이 토글됩니다. 여기에는 개요, Droplet 사용을 시작하기 위한 추가 단계, 커뮤니티 사이트의 관련 자습서 링크가 포함됩니다. 지원을 받고 Ruby on Rails에 대한 추가 리소스를 찾을 수 있는 유용한 링크도 있습니다. 공식 Ruby on Rails 문서를 검토하여 지원을 받을 수도 있습니다.

다음으로 이전에 설정한 SSH 인증 방법을 사용하여 터미널을 통해 Ruby on Rails Droplet에 액세스합니다.

2단계 — SSH를 통해 드롭릿에 액세스하여 구성 활성화

Ruby on Rails Droplet을 생성한 후에는 SSH로 Droplet에 연결하는 방법이 필요합니다.

  1. ssh root@your_server_ip

로그인하면 이 응용 프로그램에 설치된 소프트웨어에 대한 정보와 함께 1-Click 배포 섹션에 나열된 대로 구성된 기타 기능과 함께 다음과 같은 오늘의 메시지(MOTD)가 나타납니다.

Thank you for using DigitalOcean's Rails Application.

The "ufw" firewall is enabled. All ports except for 22, 80, and 443 are BLOCKED.

Let's Encrypt has been pre-installed for you. If you have a domain name, and
you will be using it with this 1-Click app, please see: https://do.co/2GOFe5J

You can use the following SFTP credentials to upload your files (using FileZilla/WinSCP/Rsync):
  * Host: 24.199.120.116
  * User: rails
  * Pass: cd083867dfdb40970449c422797378c1
If you provided an ssh-key when creating this Droplet, the key should be used for SFTP as well

You can use the following Postgres database credentials:
  * User: rails
  * Pass: a0d8c213e0d797342b1450e4e880180f

Ruby has been configured to use vendored bundles. Please use the 'rails' user to
interact with the default project via "su - rails"

Passwords have been saved in /root/.digitalocean.passwords

Nginx is configured to forward requests for rails to a local unix socket
    Public IP: http://24.199.120.116
    Access Logs: /var/log/nginx/access.log
    Error Logs: /var/log/nginx/error.log

Rails using the Puma server is managed via 'systemd'.
    Proccess management: systemctl {start|stop|restart} rails.service
    systemd Unit file: /etc/systemd/system/rails.service

Ruby information:
    All Gems and processes have been installed locally to the 'rails' user. Please
    'su - rails' to use this environment.

You can learn more about using this image here: https://do.co/2GTOVjB

-------------------------------------------------------------------------------------
To delete this message of the day: rm -rf /etc/update-motd.d/99-one-click

이 메시지에서 참고해야 할 몇 가지 다른 사항은 다음과 같습니다.

  • 시스템 및 데이터베이스 사용자 암호에 대한 자격 증명을 사용할 수 있습니다. 이 정보는 /root/.digitalocean.passwords 디렉토리에도 저장됩니다.
  • FileZilla, WinSCP 또는 rsync와 같은 소프트웨어를 사용하여 파일을 업로드하려는 경우 SFTP 자격 증명
  • Rails가 systemd에서 관리하는 Puma를 사용하여 Puma를 시작, 중지, 재시작 또는 상태를 확인하는 방법에 대한 정보

3단계 — 브라우저에서 Ruby on Rails 확인

IP 주소 또는 도메인 정보로 이동하여 Ruby on Rails가 작동하는지 확인할 수 있습니다.

http://your_IP_or_domain

1-Click 설치 프로세스를 통해 처리되므로 rails server --binding=your_IP_or_domain과 같은 추가 바인딩 단계를 실행할 필요가 없습니다.

성공하면 브라우저에 다음 페이지가 표시됩니다.

오류가 발생하면 전제 조건에 따라 도메인이 올바르게 설정되었는지 확인할 수 있습니다. 또한 서비스가 활성 상태인지 확인할 수 있습니다.

4단계 — Ruby on Rails 서비스가 활성 상태인지 확인

다양한 방법으로 Puma를 통해 Ruby on Rails 서비스를 관리할 수 있습니다. 예를 들어 다음 명령으로 서비스 상태를 확인할 수 있습니다.

  1. systemctl status rails.service
● rails.service - ExampleApp
     Loaded: loaded (/etc/systemd/system/rails.service; enabled; vendor preset:>
     Active: active (running) since Tue 2023-01-31 18:29:55 UTC; 37min ago
   Main PID: 2172 (ruby)
      Tasks: 13 (limit: 1116)
     Memory: 143.6M
        CPU: 3.518s
     CGroup: /system.slice/rails.service
             └─2172 "puma 5.6.5 (tcp://0.0.0.0:3000) [example]" "" "" "" "" ""

이 출력은 서비스가 현재 활성(실행 중)임을 보여줍니다. 이제 Ruby on Rails가 성공적으로 실행되고 있음을 확인했으므로 이제 Ruby를 사용하여 기본 프로그램을 작성할 수 있습니다.

서비스를 시작하려면 다음을 실행하십시오.

  1. systemctl start rails.service

서비스를 중지하려면 다음을 실행합니다.

  1. systemctl stop rails.service

서비스를 다시 시작하려면 다음을 실행하십시오.

  1. systemctl restart rails.service

결론

이제 Ruby on Rails 1-Click Droplet을 사용할 수 있습니다. 그러나 프로젝트의 필요에 따라 다양한 기능을 사용해야 할 수도 있습니다. 다음은 Ruby on Rails Droplet용으로 사전 설치된 소프트웨어로 수행할 수 있는 모든 가능성을 탐색할 수 있는 자습서 목록입니다.

  • Ruby on Rails 애플리케이션 구축을 시작하려면 Ruby on Rails 애플리케이션 구축 방법에 대한 자습서를 통해 시작하는 방법을 배울 수 있습니다.
  • Rails 생태계에 대해 자세히 알아보려면 프로젝트 문서를 읽어보세요.
  • React와 같은 프레임워크로 강력한 프런트엔드 프로젝트를 설정하려면 React Frontend로 Ruby on Rails 프로젝트를 설정하는 방법에 대한 튜토리얼을 확인하세요.
  • SQLite와 같은 다른 데이터베이스 옵션에 대해 알아보려면 Ruby on Rails 애플리케이션에서 PostgreSQL을 사용하는 방법에 대한 자습서를 읽어보십시오.
  • 프로젝트에 중첩된 리소스를 추가하려면 Ruby on Rails 애플리케이션용 중첩된 리소스를 만드는 방법에 대한 자습서를 확인하세요.
  • 다른 Ruby 프로그램을 작성하는 방법을 배우려면 첫 번째 Ruby 프로그램을 작성하는 방법에 대한 자습서를 읽어보십시오.

튜토리얼 시리즈를 확인하여 Ruby 및 Ruby on Rails에 대해 자세히 알아보세요.