Djangoアプリをcloneしてサーバーで動かす
目的:あるサーバーで動いているDjangoアプリ(githubのプライベートレポジトリに存在)を別のサーバーに移転して動かしたい
前提:
webサーバー: Nginx
アプリケーションサーバー: Gunicorn
手順:
2.sshのconfig設定
~/.ssh直下にconfigファイル作成(無ければ),以下記載
Host github
HostName github.com
User git
IdentityFile (秘密鍵のパス)
3.クローンする
git clone github:ユーザー名/レポジトリ名.git
(備考:configでgithub = git@github.comと指定しているため、公式記載のgit@github.com:ユーザー名/レポジトリ名.git ではPermission errorとなる)
4.仮想環境作成
python -m venv .venv
5.Djangoプロジェクトのディレクトリに移動し、requirements.txtでライブラリ一括インストール
cd (Djangoプロジェクト名)
pip install -r requirements.txt
6.migrationsディレクトリの作成(Djangoアプリのディレクトリ内に無ければ)
cd (djangoアプリ名)
mkdir migrations
cd migrations
touch __init__.py
mkdir __pycache__
(備考:migrationsディレクトリ内に__init__.pyが無いとpython manage.py makemigrationsを実施してもmodels.pyは無視される)
7.モデルをmigrationsする
python manage.py makemigrations
python manage.py migrate
8.Nginxを再起動してNginxとDjangoをバインド
sudo nginx -s reload
gunicorn --bind 127.0.0.1:8000 django_app.wsgi -D
9.ブラウザからサイトにアクセス
以上