Debian 8でDjangoをセットアップする

このチュートリアルでは、Debian 8(jessie)でDjangoをセットアップする方法について説明します。Python 2と3、およびNginxとPostgreSQLの両方を使用する方法を示します。

このチュートリアルで行われることはすべて、ルートとして行われます。

パッケージのインストール

最初に、いくつかのパッケージをインストールする必要があります。

Python 2の場合:

apt-get install python-pip python-dev virtualenv nginx postgresql postgresql-contrib libpq-dev sudo gcc

Python 3の場合:

apt-get install python3-pip python3-dev virtualenv nginx postgresql postgresql-contrib libpq-dev sudo gcc

データベースのセットアップ

まず、ユーザーにログインしますpostgres

sudo -u postgres -s

次に、新しいデータベースを作成します。データベース名は任意の名前にすることができますが(dbnameここで使用)、残りの設定と一貫している必要があります。

createdb dbname

新しいデータベースのユーザーを作成します。繰り返しますが、これはあなたが望むものであれば何でもかまいませんが、私はを使用しましたdbuser。これにより、パスワードの設定も求められます。

createuser -P dbuser

ユーザーには、データベースへのアクセス権が付与されている必要があります。正しいデータベース名とユーザー名を使用してください。

psql
postgres=# GRANT ALL PRIVILEGES ON DATABASE dbname TO dbuser;
postgres=# \q

ルートに戻ります。

exit

PostgreSQLを有効にして起動します。

systemctl enable postgresql
systemctl start postgresql

仮想環境をセットアップする

グローバルPythonファイルを使用する代わりに、仮想環境を使用します。まず、すべてを保持するディレクトリを作成します。

mkdir -p /opt/project

これで環境を作成しました。これはpython 2と3のユーザーでは異なります。

Python 2の場合:

virtualenv . -p python

Python 3の場合:

virtualenv . -p python3

仮想環境に入ります。

source bin/activate

Django、gunicorn、およびpsycopg2をインストールします。

pip install django
pip install gunicorn
pip install psycopg2

Djangoの特定のバージョンが必要な場合は、以下の形式に一致するようにインストールコマンドを変更してください。この例では、1.7.8をインストールします。

pip install django==1.7.8

これでこれで完了ですので、仮想環境を非アクティブ化できます。

deactivate

プロジェクトのアップロードと構成

これは、プロジェクトをサーバーにアップロードするときであり、すべての設���が正しいことを確認します。これを行うには、任意の方法を使用できます。FTP、SFTP、gitなどは、これを行うすべての方法です。gitを使用してプロジェクトのコードを追跡している場合は、それをサーバーに複製するだけです。このgitコマンドはプロジェクトをサーバーに複製し、に配置します/opt/project/project/

git clone http://example.com:project.git

settings.py任意のテキストブラウザーでファイルを開きます。

まず最初に、デバッグモードをオフにする必要があります。DEBUG = True行を探して、に変更TrueFalseます。この後、ALLOWED_HOSTS値が設定されていることを確認してください。

ALLOWED_HOSTS = ['*']

探しDATABASES辞書、それは次のようになります。

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql_psycopg2',
        'NAME': 'dbname',
        'USER': 'dbuser',
        'PASSWORD': 'password you set',
        'HOST': 'localhost',
        'PORT': ''
    }
}

ここでの最後のステップは、静的ルートを設定することです。以下をすぐ下に配置しますSTATIC_URL

STATIC_ROOT = '/opt/project/static/'

ファイルを終了し、静的ルートディレクトリを作成します。

mkdir -p /opt/project/static

次に、データベースを移行し、スーパーユーザーを作成して、すべての静的ファイルを収集します。

cd /opt/project/project
../bin/python manage.py makemigrations
../bin/python manage.py migrate
../bin/python manage.py createsuperuser
../bin/python manage.py collectstatic

Gunicornを構成する

Gunicornは、使用するWSGIサーバーです。Debian 8にはsystemdが付属しているため、systemdを利用してサーバーを起動および停止します。

ファイル/etc/systemd/system/django.serviceを作成し、次のコンテンツを追加します。

[Unit]
Description=Django with Gunicorn
After=network.target

[Service]
User=root
Group=root
WorkingDirectory=/opt/project
ExecStart=/opt/project/bin/gunicorn --workers 3 --bind 127.0.0.1:8000 project.wsgi

[Install]
WantedBy=multi-user.target

作成したサービスを有効にして開始します。

systemctl enable django.service
systemctl start django.service

Nginx

gunicornサーバーがにバインドされていることに気づいたかもしれません127.0.0.1。次に、サーバーの外部からアクセスする方法が必要です。これがNginxの出番です。

新しいファイル/etc/nginx/sites-available/djangoを作成し、以下を追加します。domain.example.com部分は、あなたがそれをする必要が何に設定することができます。

server {
        listen 80;
        server_name domain.example.com;
        access_log off;

        location /static/ {
                alias /opt/project/static/;
        }

        location / {
                proxy_pass http://127.0.0.1:8000;
        }
}

このサイトを有効にするシンボリックリンクを作成します。

ln -s /etc/nginx/sites-available/django /etc/nginx/sites-enabled/django

Nginxを有効にして起動します。

systemctl enable nginx
systemctl start nginx

結論

おめでとうございます。これで、Debian VPSにDjangoサイトが稼働しました。



Leave a Comment

CentOS 7にApacheをインストールする方法

CentOS 7にApacheをインストールする方法

CentOS 7サーバーにApache 2.4をインストールする方法を説明します。安定したウェブサーバーを構築するための前提条件と手順を解説します。

FreeBSD 11.1にBlacklistdをインストールする方法

FreeBSD 11.1にBlacklistdをインストールする方法

FreeBSD 11.1におけるBlacklistdのインストール方法について詳しく解説します。この方法を通じて、強力なセキュリティ対策を実装できます。

Windows Serverのサーバーマネージャーを使用した複数サーバーの管理

Windows Serverのサーバーマネージャーを使用した複数サーバーの管理

サーバーマネージャーを使用して、Windows Serverの管理が向上します。セキュリティリスクを軽減し、効率的な管理を実現します。

CentOS 7にSeafileサーバーをインストールする方法

CentOS 7にSeafileサーバーをインストールする方法

CentOS 7にSeafileサーバーをインストールする方法。Seafile(コミュニティバージョン)は、ownCloudに似た無料のオープンソースファイル同期および共有ソリューションです。

DebianでSnortを設定する方法

DebianでSnortを設定する方法

Snortは無料のネットワーク侵入検知システムです。最新の方法で、SnortをDebianにインストールし、設定する手順を紹介します。ネットワークのセキュリティを強化しましょう。

CentOS 7にGraylogサーバーをインストールする方法

CentOS 7にGraylogサーバーをインストールする方法

CentOS 7にGraylogサーバーをインストールし、ログ管理を行う方法を学びます。

WindowsでhMailServerを使用してメールサーバーを構築する

WindowsでhMailServerを使用してメールサーバーを構築する

WindowsサーバーでWebサイトを実行している場合、電子メールも受信できるようにするためにhMailServerを使用する方法を解説します。

Ubuntu 19.04にFiveMサーバーをインストールする方法

Ubuntu 19.04にFiveMサーバーをインストールする方法

FiveMサーバーをUbuntu 19.04にインストールするための詳細なガイド。必要条件からインストール、起動、トラブルシューティングまで、すべてのステップを含みます。

WsgiDAVを使用してDebian 10にWebDAVをデプロイする

WsgiDAVを使用してDebian 10にWebDAVをデプロイする

Debian 10にWebDAVをデプロイする方法を学び、WsgiDAVとSSL証明書で安全な接続を実現しましょう。

ヘルスケア2021における人工知能の影響

ヘルスケア2021における人工知能の影響

ヘルスケアにおけるAIは、過去数十年から大きな飛躍を遂げました。したがって、ヘルスケアにおけるAIの未来は、日々成長を続けています。