LoginSignup
1
1

More than 1 year has passed since last update.

AWSのEC2でdocker-composeを使う

Last updated at Posted at 2022-11-27

概要

初めての本番環境構築。
AWSのfargateで立ち上げようとしたが、本番環境もAWSもほぼ未経験なので途中でつまった。とりあえずEC2で立ち上げることに。

ここで書かれているものは後にstart.shなどに追加しなけれなばならない。

環境

Frontend : Node.js 18-buster-slim Vue.js 3.2.13
Backend : Django 4.1 Python3.10.6
Web server : Nginx 1.23.1
Database : mariaDB 10.8.3

インストール

まずdockerとdocker-composeをインストール
gitをインストールしてからgit cloneする。

インバウンドルールの変更

セキュリティグループ → インバウンドルールで
カスタムTCPでfrontのポート番号を追加する。
webサーバのポート番号も同様に追加。

Frontend (vue)

パーミッションの変更

以下のようなエラーがでたら

Syntax Error: Error: EACCES: permission denied, mkdir '/code/node_modules/.cache'

chmodでパーミッションを変更する

chmod 700 /code/node_modules

ajax通信

デフォルトでajax通信すると以下のようなエラーが出る

POST http://localhost:8000/api/v1/auth/jwt/create net::ERR_CONNECTION_REFUSED

localhostではなくパブリックIPにする。
(もっといい方法がありそうな気がする?)

src/main.js
axios.defaults.baseURL = "http://3.112.56.45:8000/api/v1/";

Backend (django)

config/settings.py
# 本番環境はFalseにする
DEBUG = False

# 本番では'*'にする
# 運用するサーバーが決まれば、hogehoge.com や '100.100.100.100' などを入力する
ALLOWED_HOSTS = ['*']
1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1