MySQL、Nginx、Passenger、SSL を使用して Ubuntu 20.04 に Ruby On Rails をインストールする方法。 Ruby は、シンプルさと生産性を優先する動的なオープンソース プログラミング言語です。自然に読み書きできる簡単な構文が特徴です。 Ruby on Rails は、ソフトウェア開発者の生産性を高めるために作成された、広く使用されている Ruby 用の Web フレームワークです。
ニンクス HTTP トランザクションを提供し、静的ファイルを提供できる Web サーバーですが、Ruby アプリケーションを直接実行することはできません。そのため、無料のオープンソース Web アプリケーション サーバーである Phusion Passenger を使用します。 HTTP リクエストを処理し、プロセスとリソースを監視および管理し、管理、監視、および問題の診断を可能にするように設計されています。
このガイドでは、Passenger をセットアップして Nginx による Ruby on Rails Web アプリケーションの提供を支援し、Let’sEncrypt SSL をインストールしてアプリケーションを保護します。
前提条件
<オール>サーバーの初期設定
サーバー パッケージを最新のものに更新してください。
sudo apt update sudo apt dist-upgrade -y
Rbenv を使用して Ruby on Rails をインストールする
セットアップがうまくいくことを確認するために、Node.js と Yarn リポジトリを追加することから始めます。
curl -sL https://deb.nodesource.com/setup_lts.x | sudo -E bash - curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add - echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
依存関係をインストール
これで、すべての依存関係をインストールできます。
sudo apt-get update sudo apt-get install git-core zlib1g-dev build-essential libssl-dev libreadline-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt1-dev libcurl4-openssl-dev software-properties-common libffi-dev nodejs yarn
Rbenv と Rbenv Build をインストール
Rbenv は、Ruby のインストールに使用される Ruby バージョン マネージャーです。
ここで Rbenv と Rbenv-build をインストールします。
Rbenv をインストール
cd git clone https://github.com/rbenv/rbenv.git ~/.rbenv echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc echo 'eval "$(rbenv init -)"' >> ~/.bashrc exec $SHELL
Rbenv ビルドのインストール
git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build echo 'export PATH="$HOME/.rbenv/plugins/ruby-build/bin:$PATH"' >> ~/.bashrc exec $SHELL
Ruby バージョンの構成
これで、デフォルトおよびグローバル Ruby バージョンをセットアップできます。
rbenv install 3.1.1 rbenv global 3.1.1
次のコマンドを使用して Ruby のバージョンを確認します。
ruby -v
ここで、バンドラーをインストールする必要があります。
gem install bundler
レールをインストールする
gem install rails -v 7.0.2.3
rails コマンドを実行可能にします。
rbenv rehash
Rails のバージョンを確認してください。
rails -v
MySQL をインストール
このチュートリアルでは、データベースに MySQL を使用します。
sudo apt-get install mysql-server mysql-client libmysqlclient-dev
sudo mysql_secure_installation
必要に応じて、MySQL で新しいユーザーとパスワードを構成できます。
Rails を MySQL 用に構成する
Rails 用の MySQL アダプターをインストールします
gem install mysql2
Passenger と Nginx をインストール
次に、Nginx をインストールして Passenger を構成します。
Nginx をインストールします。
sudo apt -y install nginx
Passenger をインストールします。
sudo apt install -y dirmngr gnupg apt-transport-https ca-certificates sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 561F9B9CAC40B2F7
Passenger APY リポジトリを追加します。
sudo sh -c 'echo deb https://oss-binaries.phusionpassenger.com/apt/passenger focal main > /etc/apt/sources.list.d/passenger.list'
Passenger を更新してインストールします。
sudo apt update sudo apt install -y libnginx-mod-http-passenger
これで、Nginx インストールの conf.d ディレクトリ内に新しいパッセンジャ構成が追加されます。
Passenger モジュールのインストールを有効にするために、Nginx を再起動してください。
sudo service nginx start
Rbenv で Passenger を構成する
Passenger 構成ファイルを編集します。
sudo nano /etc/nginx/conf.d/mod-http-passenger.conf
passenger_root
で始まる行をコメントアウトします と passenger_ruby
.
次の行をファイルに追加します。
ユーザー名を置き換えます Rbenv のインストールに使用したユーザー名で、passenger_ruby オプション パスに入力します。
passenger_ruby /home/example_user/.rbenv/shims/ruby; passenger_root /usr/lib/ruby/vendor_ruby/phusion_passenger/locations.ini;
ファイルを保存して終了します。
Nginx を再起動します。
sudo service nginx restart
新しい Rails プロジェクトを作成
Rails プロジェクト用の新しいディレクトリを作成するか、任意のディレクトリに移動します。ここでは、デフォルトの Nginx Web ディレクトリに移動しています。
cd /var/www
Rails プロジェクトを作成します。
rails new project-name -d mysql cd project-name
データベース構成を編集してデータベースに接続します。
sudo nano config/database.yml
ユーザー名を置き換えます あなたの username
で 、パスワード あなたの password
で
database.yml
を確認してください このように見えます
default: &default adapter: mysql2 encoding: utf8 pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %> username: username password: password host: locahost database: database_name development: <<: *default test: <<: *default production: <<: *default
Rails データベースを初期化します。
rake db:create
Rails を再起動します。
rails restart
Ruby on Rails で Nginx を構成する
デフォルトの Nginx 構成を削除します。
sudo rm -rf /etc/nginx/sites-available/default sudo rm -rf /etc/nginx/sites-enabled/default
Ruby アプリケーションの新しい構成を作成します
sudo nano /etc/nginx/sites-available/domainname.conf
この新しい構成設定を貼り付けて Ctrl+X
を押します 続いて Y
ファイルを保存する
server { listen 80 default_server; server_name domainname.com; passenger_enabled on; passenger_app_env production; root /var/www/html/project-name/public; }
新しい構成を有効にする
sudo ln -s /etc/nginx/sites-available/domainname.conf /etc/nginx/sites-enabled/domainname.conf
Nginx の構成を検証し、nginx を再起動します
sudo nginx -t sudo service nginx restart
Let’sEncrypt SSL をインストール
Certbot を使用して、ドメインに無料の Let’s Encrypt SSL 証明書をインストールできます。
sudo apt install python3-certbot-nginx
次のコマンドを実行して、証明書をインストールし、HTTPS へのリダイレクトを自動的に構成します。
sudo certbot --nginx --redirect --agree-tos --no-eff-email -m [email protected] -d domain.com -d www.domain.com
これで SSL 証明書を受け取り、自動的に構成されます。
自動更新を設定します。
sudo certbot renew --dry-run
これで、Ruby on Rails がインストールされ、Passenger と Nginx で構成され、MySQL データベースに接続されました。
ブラウザでドメイン名にアクセスすると、Ruby on Rails のウェルカム ページが表示されます。

結論
これで、MySQL を使用して Ubuntu 20.04 に Ruby On Rails をインストールし、Passenger を使用して Nginx を構成し、Let’sEncrypt SSL を構成する方法を学習しました。
御時間ありがとうございます。問題やフィードバックに直面した場合は、下にコメントを残してください。