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