Help us understand the problem. What is going on with this article?

CentOS7上にDockerでMySQL8、Nginxを動かしてRailsを起動するためにしたこと

More than 1 year has passed since last update.

deploy用ユーザーの作成

# adduser hoge_user
# passwd hoge_user

visudoでrootになれるよう設定

localeの設定

# localectl set-locale LANG=ja_JP.utf8
一度ログアウトしてログイン
# locale
LANG=ja_JP.UTF8

ssh設定

rootでのsshはできなくする。
sshのportは2222に変更。

# vim /etc/ssh/sshd_config
PermitRootLogin -> no
Port -> 2222
# sshd -t
# sudo service sshd restart

firewalldの設定

httpとsshだけ解放。
sshはportを2222に変更する。

# cp -p /usr/lib/firewalld/services/ssh.xml /etc/firewalld/services/
portを2222に変更
# firewall-cmd --add-service=http --zone=public --permanent
# firewall-cmd --add-service=ssh --zone=public --permanent
# firewall-cmd --reload
success

※さくらVPSの場合混乱するので管理画面から操作できるパケットフィルタをOFFにする。

Docker

https://docs.docker.com/install/linux/docker-ce/centos/ の手順に従い作業

&

$ sudo systemctl enable docker # 自動起動設定
$ sudo systemctl start docker

docker-compose

https://docs.docker.com/compose/install/ の手順に従い作業

デプロイユーザーがdocker-composeを使えるように

# usermod -aG docker hoge_user
hoge_userは一回ログアウトしてログインしなおす。

rbenvでrubyインストール

$ git clone https://github.com/sstephenson/rbenv.git ~/.rbenv
$ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile
$ echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
$ exec $SHELL -l

ruby-buildインストール
$ mkdir -p "$(rbenv root)"/plugins
$ git clone https://github.com/rbenv/ruby-build.git "$(rbenv root)"/plugins/ruby-build

$ sudo yum install -y openssl-devel readline-devel zlib-devel
$ rbenv install 2.5.1
$ rbenv global 2.5.1
$ ruby -v
ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-linux]

yarnインストール

$ curl --silent --location https://dl.yarnpkg.com/rpm/yarn.repo | sudo tee /etc/yum.repos.d/yarn.repo
$ sudo rpm --import https://dl.yarnpkg.com/rpm/pubkey.gpg
$ sudo yum install yarn
$ yarn install

Webサーバー,DB起動

$ docker-compose up --build

docker-compose.yml

version: '3'
services:
  mysql:
    image: mysql
    command: --default-authentication-plugin=mysql_native_password
    volumes:
      - mysql-db:/var/lib/mysql
    ports:
      - "3306:3306"
    environment:
      - MYSQL_ROOT_PASSWORD
  nginx:
    build: ./nginx
    ports:
      - "$HOST_HTTP_PORT:80"
    volumes:
      - ../../my_app:/apps/my_app
      - ../log/nginx:/var/log/nginx
      - ../public:/usr/share/nginx/html
volumes:
  mysql-db:
    driver: local
goy
m3career
医療従事者及び医療機関向けのHRサービスを展開
https://career.m3career.com/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away