chisataki’s blog

リコリス・リコイルじゃありません

Djangoアプリをcloneしてサーバーで動かす

目的:あるサーバーで動いているDjangoアプリ(githubのプライベートレポジトリに存在)を別のサーバーに移転して動かしたい

 

前提:

webサーバー: Nginx

アプリケーションサーバー: Gunicorn

 

手順:

1.移転するサーバーでssh鍵の作成(github用)

ssh-keygen -t rsa

 

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.ブラウザからサイトにアクセス

 

以上