Amazon Lightsail で Rails on Ruby の環境を構築するための自分用メモです。
環境
- Amazon Lightsail (AWS)
- Debian GNU/LInux 10.8 x86_64
手順
# OS に必要なライブラリを入れる。
sudo apt update
sudo apt upgrade
sudo apt install autoconf bison build-essential libssl-dev \
libyaml-dev libreadline6-dev zlib1g-dev libncurses5-dev \
libffi-dev libgdbm-dev libsqlite3-dev git sqlite3
# 2021-05-18 追記: https://hackmd.io/@mametter/mimemagic-info-ja
sudo apt install shared-mime-info
# ここからユーザーセッション
# rbenv の導入
git clone https://github.com/rbenv/rbenv.git ~/.rbenv
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(rbenv init -)"' >> ~/.bashrc
source ~/.bashrc
# ruby-build の導入
git clone https://github.com/rbenv/ruby-build.git \
~/.rbenv/plugins/ruby-build
# rbenv に Ruby 2.6 の導入
rbenv install 2.6.1
rbenv global 2.6.1
# which ruby
# ruby -v
# Ruby 2.6 配下の gem を設定
echo "gem: --no-document" > ~/.gemrc
gem install bundler
gem env home
# gem search '^rails$' --all
gem install rails -v 5.2.4.5
gem install sqlite3
rbenv rehash
# Rails アプリの作成、実行
rails -v
rails new testapp
cd testapp
echo "gem 'mini_racer'" >> Gemfile
bundle install
rails s
telnet
するなり、トンネルを掘るなりして、3000 番にアクセスして確認。
外部アクセス
テスト用途や書き捨てアプリの場合のみ。Lightsail の「ネットワーキング」で 3000/tcp を開いてアクセス。
接続できない場合は、一旦 puma
を C-c で停止し、
ip address show
で、eth0 の IPv4 アドレスを確認し、明示指定。
rails -b 172.26.15.245 -p 3000
場合によって、nginx の設定。