Thứ hai, 10/02/2014 | 00:00 GMT+7

Cách cài đặt Ruby 2.1.0 và Sinatra trên Ubuntu 13 với RVM

Nếu một vài từ được chọn để định nghĩa Sinatra, chúng chắc chắn sẽ đầy cảm hứngsúc tích . Dự án nhỏ bé nhưng đáng chú ý này đã dẫn đường cho việc tạo ra nhiều dự án tương tự khác - trên các ngôn ngữ lập trình và nền tảng khác nhau.


Thư viện phát triển web “sang trọng” Sinatra có thể cho phép bạn nhanh chóng xây dựng các ứng dụng web từ đầu. Không giống như khuôn khổ Ruby on Rails quá phổ biến, các ứng dụng được tạo trên Sinatra có thể bao gồm một file duy nhất, chỉ phụ thuộc vào đá quý Sinatra.

Trong bài viết DigitalOcean này, ta sẽ tìm hiểu cách cài đặt version mới nhất hiện có của trình thông dịch Ruby chính thức (v 2.1.0) trên server Ubuntu 13 cùng với thư viện phát triển ứng dụng web Sinatra. Sau đó, ta sẽ tạo một dự án mẫu và tiếp tục triển khai trong thế giới thực.

Bảng chú giải


1. Cài đặt Ruby và Sinatra


  1. Cập nhật Hệ điều hành
  2. Nhận các công cụ xây dựng / phát triển cần thiết
  3. Cài đặt Trình quản lý Phiên bản Ruby (RVM)
  4. Cài đặt Ruby 2.1.0
  5. Cài đặt Sinatra
  6. Tạo group user www và user triển khai

2. Tạo ứng dụng “Hello world!” Với Sinatra


  1. Thư mục ứng dụng
  2. Tệp ứng dụng mẫu
  3. Kiểm tra ứng dụng (rackup)

3. Triển khai


Lưu ý: Bài viết này là bài đầu tiên trong loạt bài Sinatra hai phần của ta . Sau khi hoàn thành phần này, để tìm hiểu về các triển khai thực tế, hãy xem Cách triển khai Ứng dụng Web Ruby dựa trên Sinatra .

Cài đặt Ruby và Sinatra


Cập nhật Hệ điều hành


Ta sẽ bắt đầu hướng dẫn của bạn bằng cách chuẩn bị VPS của bạn , nghĩa là nâng cấp các thành phần mặc định của nó lên version mới nhất đảm bảo rằng ta có mọi thứ được cập nhật.

Cập nhật danh sách nguồn phần mềm và nâng cấp các ứng dụng cũ:

aptitude    update aptitude -y upgrade 

Nhận các công cụ xây dựng / phát triển cần thiết


Trước khi tiếp tục cài đặt các ứng dụng mục tiêu của bạn , ta sẽ cài đặt gói công cụ phát triển thiết yếu: build-Essential bằng cách sử dụng aptitude quản lý gói mặc định. Gói này chứa các công cụ cần thiết để cài đặt một số thứ nhất định từ nguồn .

Chạy lệnh sau để cài đặt gói build-essential :

aptitude install -y build-essential 

Tiếp theo, ta sẽ nhận được các công cụ liên quan đến phát triển và triển khai thường được sử dụng, chẳng hạn như Git.

Chạy lệnh sau để cài đặt một số công cụ bổ sung, thường được sử dụng:

aptitude install -y cvs subversion git-core mercurial 

Cài đặt Trình quản lý Phiên bản Ruby (RVM)


Trình quản lý version Ruby (hoặc RVM) cho phép các nhà phát triển nhanh chóng bắt đầu sử dụng Ruby và phát triển các ứng dụng với nó.

RVM không chỉ cho phép bạn làm việc với nhiều version Ruby đồng thời mà còn đi kèm với các công cụ tích hợp để tạo và làm việc với môi trường ảo được gọi là gemsets . Với sự trợ giúp của RVM, có thể tạo bất kỳ số lượng bộ đá quý hoàn toàn tách biệt - và khép kín - nơi các phụ thuộc, gói và cài đặt Ruby mặc định được tạo ra để phù hợp với nhu cầu của bạn và được lưu giữ phù hợp giữa các giai đoạn triển khai khác nhau - đảm bảo hoạt động theo cùng một cách dù ở đâu.

Lưu ý: Để tìm hiểu thêm về cách làm việc với gemsets và cách sử dụng RVM, hãy xem bài viết Cách sử dụng RVM để quản lý cài đặt và môi trường Ruby trên VPS .

Để download và cài đặt RVM, hãy chạy như sau:

curl -L get.rvm.io | bash -s stable 

Và để tạo một môi trường hệ thống bằng cách sử dụng RVM shell script:

source /etc/profile.d/rvm.sh 

Cài đặt Ruby 2.1.0


Tất cả những gì cần thiết kể từ bây giờ để làm việc với Ruby 2.1.0 (hoặc bất kỳ version nào khác), sau khi download RVM và cấu hình môi trường hệ thống là cài đặt thực tế của Ruby từ nguồn - sẽ được RVM xử lý.

Để cài đặt Ruby 2.1.0 từ nguồn sử dụng RVM, hãy chạy như sau:

rvm reload rvm install 2.1.0 

Cài đặt Sinatra


Sau khi cài đặt RVM Ruby, ta có thể sử dụng gói RubyGems đi kèm với nó theo mặc định để download và cài đặt Sinatra trên hệ thống của bạn . RubyGems là trình quản lý gói Ruby mặc định và nó là một công cụ tuyệt vời cho những gì nó làm.

Chạy lệnh sau để cài đặt Sinatra với gem:

gem install sinatra 

Tạo group user www và user triển khai


Sau khi ta hoàn thành tất cả các cài đặt, đã đến lúc đi vào kiến thức cơ bản và tạo một group Linux và một user để lưu trữ các ứng dụng web. Vì mục đích này, ta có thể đặt tên group của bạn là www và user là người deployer .

Thêm một group user mới:

# Usage: sudo addgroup [group name] sudo addgroup www 

Tạo user mới và thêm vào group này:

# Create a new user: # Usage: sudo adducer [user name] # Follow on-screen instructions to user-related # information such as the desired password. sudo adduser deployer  # Add the user to an already existing group: # Usage: sudo adducer [user name] [group name] sudo adduser deployer www 

Bây giờ tạo folder ứng dụng trong folder /var :

sudo mkdir /var/www 

Và đặt các quyền:

# Set the ownership of the folder to members of `www` group sudo chown -R :www  /var/www  # Set folder permissions recursively sudo chmod -R g+rwX /var/www  # Ensure permissions will affect future sub-directories etc. sudo chmod g+s      /var/www 

Chỉnh sửa /etc/sudoers bằng cách sử dụng editor nano để cho phép user deployer sudo cho các triển khai trong tương lai:

nano /etc/sudoers 

Cuộn xuống file và tìm nơi root được xác định:

..  # User privilege specification root    ALL=(ALL:ALL) ALL  .. 

Nối phần sau ngay sau root ALL=(ALL) ALL :

deployer ALL=(ALL:ALL) ALL 

Phần này của file /etc/sudoers bây giờ sẽ trông giống như sau:

..  # User privilege specification root     ALL=(ALL:ALL) ALL deployer ALL=(ALL:ALL) ALL  .. 

Nhấn CTRL + X và xác nhận với Y để lưu và thoát.

Tạo "Xin chào thế giới!" Ứng dụng với Sinatra


Lưu ý: Dưới đây là hướng dẫn ngắn về cách tạo một ứng dụng dựa trên Sinatra hai trang cho mục đích demo nhằm mục đích được sử dụng làm ví dụ cho các bài viết triển khai của ta . Để có kiến thức chuyên sâu hơn về cách làm việc với Sinatra, hãy xem tài liệu chính thức của Sinatra: Bắt đầu .

Thư mục ứng dụng


Hãy bắt đầu hành trình Sinatra của ta bằng cách tạo một folder để lưu trữ mẫu Hello world! ứng dụng.

Chạy lệnh sau để tạo folder ứng dụng:

mkdir /var/www/my_app cd    /var/www/my_app 

RACK đưa ra các giả định nhất định về hệ thống phân cấp file . Do đó, ta cần có thêm hai folder được tạo cùng với các file ứng dụng của ta : tmppublic .

Hãy tạo chúng:

mkdir tmp mkdir public mkdir pids mkdir logs 

Và cũng thêm một restart.txt để server ứng dụng sử dụng sau này:

touch tmp/restart.txt 

Cấu trúc ứng dụng cuối cùng của ta :

/my_app                    # /var/www/my_app    |-- /public             # Static files (and for Passenger server)    |-- /tmp                        |-- restart.txt   # Application restart / reload file    |-- /pids               # PID files    |-- /logs               # Log files    |-- config.ru           # Rack file (for servers)    |-- app.rb              # Application module 

Lưu ý: Để tìm hiểu về các server ứng dụng web Ruby khác nhau và hiểu Rack là gì, hãy xem bài viết So sánh các Server Web (Rack) dành cho Ứng dụng Web Ruby của ta .

Tệp ứng dụng mẫu


Bây giờ, ta có thể bắt đầu xây dựng Hello world! ứng dụng.

Chạy lệnh sau để tạo app.rb trong folder ứng dụng my_app bằng editor nano:

nano app.rb 

Copy paste khối mã dưới đây:

require 'rubygems' require 'sinatra/base'  class MyApp < Sinatra::Base    get '/' do     'Hello world!'   end  end 

Lưu và thoát bằng cách nhấn CTRL + X và xác nhận với Y.

Tiếp theo, ta có thể tạo file config.ru mà các server ứng dụng web sẽ sử dụng để chạy chương trình của ta .

Chạy lệnh sau để tạo config.ru bên trong folder ứng dụng my_app bằng editor nano:

nano config.ru 

Copy paste khối mã dưới đây:

require File.expand_path('../app.rb', __FILE__) use Rack::ShowExceptions run MyApp.new     

Lưu và thoát bằng cách nhấn CTRL + X và xác nhận với Y.

Bây giờ hãy tạo Gemfile của ta :

nano Gemfile 

Copy paste khối mã dưới đây:

source 'https://rubygems.org' gem 'rack' gem 'sinatra' 

Lưu và thoát bằng cách nhấn CTRL + X và xác nhận với Y.

Và thực hiện cài đặt các viên ngọc này bằng cách sử dụng bundle :

bundle install 

Kiểm tra ứng dụng (rackup)


Để kiểm tra ứng dụng của bạn , bạn chỉ cần chạy một server thử nghiệm bằng cách sử dụng rackup .

Chạy lệnh sau để khởi động server thử nghiệm:

rackup config.ru --port=8080  # Hello world!  # To turn off the test server, press CTRL+C 

Triển khai


Mặc dù ta đã trình bày những kiến thức cơ bản về việc tạo ứng dụng Sinatra, nhưng đối với mục đích triển khai, bạn sẽ xử lý mã nguồn từ máy tính phát triển của bạn để đưa ứng dụng của bạn trực tuyến. Do đó, bạn cần đặt (tức là tải lên) kho ứng dụng của bạn (tức là mã nguồn) trên server của bạn.

Dưới đây là một số cách bạn có thể đạt được điều này trước khi tiếp tục với bài viết triển khai Sinatra của ta :

Lưu ý: Đảm bảo chú ý đến quyền đối với file / folder để triển khai với một số cài đặt server nhất định. Để tìm hiểu về triển khai web thực tế, hãy xem bài viết của ta về chủ đề Cách triển khai các ứng dụng web Ruby dựa trên Sinatra .

<div class = “author”> Gửi bởi: <a
href = “https://twitter.com/ostezer”> Hệ điều hành Tezer </a> </div>


Tags:

Các tin liên quan

Cách tạo Sách dạy nấu ăn Đầu bếp Đơn giản để Quản lý Cơ sở hạ tầng trên Ubuntu
2014-02-03
Cách cài đặt MariaDB từ Binary Tarballs trên Ubuntu 13.10
2014-01-28
Cách thiết lập một cụm Serf trên một số VPS Ubuntu
2014-01-23
Cách cấu hình Cụm Galera với MariaDB trên server Ubuntu 12.04
2014-01-20
Cách cài đặt Neo4J trên VPS Ubuntu
2014-01-15
Cách sử dụng PM2 để thiết lập môi trường sản xuất Node.js trên VPS Ubuntu
2014-01-10
Cách sử dụng psad để phát hiện nỗ lực xâm nhập mạng trên VPS Ubuntu
2014-01-10
Cách sử dụng Makefiles để tự động hóa các tác vụ lặp đi lặp lại trên Ubuntu VPS
2014-01-07
Cách thiết lập CouchDB với ElasticSearch trên VPS Ubuntu 13.10
2013-12-30
Cách sử dụng Celery với RabbitMQ để xếp hàng các tác vụ trên Ubuntu VPS
2013-12-19