EC2サーバー構築手順
技術文書
2019/11/14
https://qiita.com/y-do/items/e127211b32296d65803a
https://github.com/openresty/docker-openresty
ログイン
[~]$ ssh -i ~/.ssh/moving_i_banner.pem ec2-user@ec2-3-112-221-137.ap-northeast-1.compute.amazonaws.com
タイムゾーン変更
$ date 2019年 11月 19日 火曜日 05:48:30 UTC $ sudo vim /etc/sysconfig/clock #ZONE="UTC" ZONE="Japan" UTC=true $ sudo ln -sf /usr/share/zoneinfo/Japan /etc/localtime $ sudo reboot $ date 2019年 11月 19日 火曜日 14:53:12 JST
DockerとOpenRestyインストール
$ sudo yum install -y docker $ sudo service docker start $ sudo usermod -a -G docker ec2-user $ sudo docker info $ sudo curl -L https://github.com/docker/compose/releases/download/1.21.0/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose $ sudo chmod +x /usr/local/bin/docker-compose $ docker-compose --version $ docker -v $ sudo yum install git $ git clone https://github.com/openresty/docker-openresty.git $ cd docker-openresty/ $ vi alpine/Dockerfile # && ln -sf /dev/stdout /usr/local/openresty/nginx/logs/access.log \ # && ln -sf /dev/stderr /usr/local/openresty/nginx/logs/error.log && apk --update add tzdata \ && cp /usr/share/zoneinfo/Asia/Tokyo /etc/localtime \ && apk del tzdata $ vi nginx.vh.default.conf location /click { content_by_lua_block { ngx.redirect(ngx.var.arg_lp) } } $ sudo docker build -t openresty-test -f alpine/Dockerfile . $ sudo docker run -d -p 80:80 openresty-test $ sudo docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES ac8866f2073a openresty-test "/usr/local/openrest…" 16 minutes ago Up 16 minutes 0.0.0.0:80->80/tcp hardcore_perlman $ sudo docker exec -it ac8866f2073a ash $ sudo docker logs ac8866f2073a
nginxログ設定
[ec2-user@ip-172-31-45-87 docker-openresty]$ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 01d301855435 openresty-test "/usr/local/openrest…" 3 months ago Up 3 months 0.0.0.0:80->80/tcp distracted_poincare [ec2-user@ip-172-31-45-87 docker-openresty]$ sudo docker exec -it 01d301855435 ash / # ls -l /usr/local/openresty/nginx/logs/ total 4 lrwxrwxrwx 1 root root 11 Aug 1 18:00 access.log -> /dev/stdout lrwxrwxrwx 1 root root 11 Aug 1 18:00 error.log -> /dev/stderr -rw-r--r-- 1 root root 2 Aug 1 18:08 nginx.pid シンボリックリンク削除&再作成 /usr/local/openresty/nginx/logs # rm accesslog error.log /usr/local/openresty/nginx/logs # touch accesslog error.log /usr/local/openresty/nginx/logs # chmod 777 accesslog error.log /usr/local/openresty/nginx/logs # ls -l total 4 -rwxrwxrwx 1 root root 0 Nov 19 05:37 access.log -rwxrwxrwx 1 root root 0 Nov 19 05:38 error.log ログをマウントしてDocker再起動 [ec2-user@ip-172-31-45-87 docker-openresty]$ sudo docker stop 01d301855435 [ec2-user@ip-172-31-45-87 docker-openresty]$ sudo docker run -d -p 80:80 -v /home/ec2-user/docker-openresty/logs:/usr/local/openresty/nginx/logs openresty-test 6c4d91f870a7966c38833bff32eb6f85ec8e6c54cd77c5f2537f80cae79c3f51 [ec2-user@ip-172-31-45-87 docker-openresty]$ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 6c4d91f870a7 openresty-test "/usr/local/openrest…" 5 seconds ago Up 4 seconds 0.0.0.0:80->80/tcp sharp_fermi [ec2-user@ip-172-31-45-87 docker-openresty]$ ls -l logs/ 合計 4 -rw-r--r-- 1 root root 0 11月 19 05:44 access.log -rw-r--r-- 1 root root 0 11月 19 05:44 error.log -rw-r--r-- 1 root root 2 11月 19 05:44 nginx.pid ログローテート [ec2-user@ip-172-31-45-87 ~]$ sudo vi /etc/logrotate.d/nginx /home/ec2-user/docker-openresty/logs/*log { rotate 90 missingok ifempty sharedscripts compress postrotate docker exec -it openresty-test systemctl reload nginx > /dev/null 2>/dev/null || true endscript } [ec2-user@ip-172-31-45-87 ~]$ sudo logrotate -fv /etc/logrotate.d/nginx [ec2-user@ip-172-31-45-87 ~]$ ls -l /home/ec2-user/docker-openresty/logs/ 合計 8 -rw-r--r-- 1 root root 287 11月 19 14:57 access.log.1.gz -rw-r--r-- 1 root root 20 11月 19 14:44 error.log.1.gz
http://d1mc1u7pljcvbi.cloudfront.net/coslab_html5/index.html