Django+Nginx+uWSGI+EC2+ PostgresのWebアプリ作成まとめ

Python プログラミング

こんにちは、はるです。
先日、Djangoアプリを作成して、AWSにデプロイしました。
whale_api_analysis
github:whale-graph

本記事は、備忘録メモです。
作成するにあたって参考になった記事をまとめておきます。

記事の内容

全体像

Django + uWSGI + nginx (uWSGIチュートリアルの和訳)

SSH接続(Mac)

【AWS】EC2にMacのターミナルからSSH接続する方法

Python

pythonで環境ファイルを読み込む
AWSのEC2に最新のPython(3.10.8)をインストール(バージョンアップ)する方法
【Python】SSL接続で警告されるへのスクレイピング

Django:ファイル構成

Django ディレクトリ構成とファイル設定
【Python】Django おすすめのディレクトリ構成【django 3.2対応】(Best practice for Django project directory structure)
Djangoにおける静的ファイル(static file)の取り扱い
STATIC_ROOT、staticの設定について|Django

Django:tamplate,html,css

Djangoでbase.htmlを用いたブログを作成する。
【Django】テンプレートの作成・HTML/CSS表示|PythonによるWebアプリ開発(Template)#4
djangoテンプレートの繰り返し処理についてまとめる

AWS:全体

0から始めるAWS入門:概要
AWSにWEBアプリの最小構成環境を作る

AWS:EC2

【AWS 再入門】EC2 + RDS によるミニマム構成なサーバー環境を構築してみよう
AWS EC2 Nginxを使ってWebサイトホスティング
AWS EC2に作業用ユーザを追加
SCPコマンドで、EC2インスタンスにあるファイルのダウンロード/アップロードを秒で対応するために
【Amazon Linux】ec2-userを廃止して同権限のユーザーを追加する
【AWS】EC2 インスタンス SSH接続エラーを解消(ssh: connect to host xxx.xxx.xxx.xxx port 22: Operation timed out)

AWS:ElasticIP

EC2インスタンスのIPアドレスを固定させる

Nginx

AWS Amazon Linux 2 にnginxをインストールする
Nginxでまず静的ファイルのみ表示してみる(Nginxその2)
Nginx コマンド超シンプル早見表
nginxでDjangoを使うときの設定ファイル:クライアント、nginx、uwsgiの流れを整理しよう

uWSGI

アプリケーションの自動起動・自動停止設定
Systemd
Nginx + uWSGI + Djangoのwebアプリケーション環境を作る (その3)
Nginx + uWSGI + Djangoのwebアプリケーション環境を作る (その2)
【Python】venv 環境で作成した Python 3.6 プログラムをシェルスクリプトから実行したい

systemd

systemdの.serviceファイルで、実行ユーザーを指定する
systemdのユニット定義ファイルは、どこに置けばいい?
systemdの”code=exited, status=203/EXEC”エラー
サービスの自動起動

SSL化

AmazonLinux2 に snapd を入れて certbot による証明書自動更新生活を満喫する
Certbot公式に従ってNginxを常時SSL化
certbot instructions

PostgreSQL

EC2(Amazon Linux2)にPostgreSQLをインストールする
Amazon Linux 2 に PostgreSQL 13 をインストールする
【Amazon Linux 2】PostgreSQL11、12、13をインストールする手順
cent os 7.6 に postgreSQL 13.3 をインストールする
PostgreSQL ユーザー(ロール)管理
PostgreSQLに「psql -U <ユーザ名> -h <ホスト名>」で接続しようとすると、「psql: FATAL: database “<ユーザ名>” does not exist」とエラーが起きる
6.3. データの削除

psycopg2

Pythonの「Django」とPostgreSQLを接続してデータを取得してみた!

番外編:Matplotlib

【Django】Matplotlib・グラフ表示|PythonによるWebアプリ開発#17
【Python・データ分析】Matplotlibでグラフ(折れ線・棒・円・散布図・ヒストグラム)出力・コードの使い方解説
Pythonで棒グラフと折れ線グラフを重ねて2軸グラフを作成
Matplotlib plt.subplots()の使い方|FigureとAxesを同時生成!
【matplotlib基礎】第2軸を持つグラフを描画する
matplotlib – x 軸、y 軸のラベル、タイトルを設定する方法

番外編:Git

強制的にgit pullをしてローカルの内容をリモートの内容で書き換えたい
Gitで不要なファイルがトラッキングされるのを防ぎたいとき

皆さま良質な記事をありがとうございました!