wsl2上のUbuntuにrubyの開発環境を構築する

公開日時

wsl2上のUbuntuにrubyの開発環境を構築したのでメモ。

最初は全部dockerで動かすつもりだったが、コンテナからhostのIPへの接続がうまくできなかったので、mysqlのみdockerで動かして、rubyとnginxは直接Ubuntu上で動かすことにした。

ruby

  • rbenv install
sudo apt update
sudo apt-get install autoconf bison build-essential libssl-dev libyaml-dev libreadline6-dev zlib1g-dev libncurses5-dev libffi-dev libgdbm6 libgdbm-dev libdb-dev

curl -fsSL https://github.com/rbenv/rbenv-installer/raw/master/bin/rbenv-installer | bash
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.zshrc
  • ruby install
rbenv install 2.6.6
rbenv global 2.6.6
gem install bundler
  • bundle
cd /path/app
bundle install --path=vendor/bundle

nginx

  • nginx install
sudo apt install nginx
  • nginx起動
sudo nginx
  • nginx設定反映
sudo nginx -t
sudo nginx -s reload

direnv

  • direnv install
sudo apt install direnv

mysql

  • docker-compose.yml
version: "3"
services:
  datastore:
    image: busybox
    volumes:
      - db_data:/var/lib/mysql
  db:
    image: mysql:5.7
    environment:
      MYSQL_ROOT_PASSWORD: pass
      MYSQL_USER: user
      MYSQL_PASS: pass
      MYSQL_DATABASE: sample
    ports:
      - 3306:3306
    volumes:
      - db_data:/var/lib/mysql
      - ./docker/mysql/my.cnf:/etc/mysql/mysql.conf.d/my.cnf
      - ./log:/var/log/mysql
volumes:
  db_data:
  • docker/mysql/my.cnf
[mysqld]
slow_query_log=true
slow_query_log-file=/var/log/mysql/mysql-slow.sql
long_query_time=0.5
character-set-server=utf8mb4

[client]
default-character-set=utf8mb4
  • up
docker-compose up -d

参考


Related #linux

GCP VMインスタンスのSSHポートを変更した

Network Internet Egress from Americas to EMEA

CPU使用率の高いプロセスを特定するシェルスクリプト

過去のCPU負荷の原因が特定できる

dfコマンドで簡易のディクス容量監視をする

凝ったことをしなければシェルスクリプトは手軽で便利

WSL2のUbuntuにsshできるようにする

ポートフォワードとファイアウォールの設定をした

1つのサーバで複数のGitHub DeployKeyを切り替えて使う

ssh/configとgit remoteの設定を変更する

起動中のプロセスの環境変数を確認

cat /proc/{id}/environで確認できる