nginx + uwsgiを介してubuntuにdjangoアプリケーションをデプロイします

通りすがりの人に注意してください:

  1. python3-pipをインストールします------------- sudo apt-get installpython3-pip

  2. 仮想環境と仮想環境管理パックをインストールする
    sudo pip3 install virtualenv(エラーを報告した場合は、pipをインストールする必要があります)
    sudo pip3 virtualenvwrapper
    〜/ .bashrcを追加します
    export WORKON_HOME=~/Envs
    ソース/usr/local/bin/virtualenvwrapper.sh(virtualenvwrapper.shがない場合は、このディレクトリにこのファイルを作成します)
    source .bashrc
    仮想環境を作成します。mkvirtualenvShangOnline–p / usr / bin / python3

  3. インストールプロジェクトが仮想環境で依存するパッケージ(mysqlclientに問題が発生するため、最初に次のパッケージをインストールする必要があります)
    pipfreeze> requirements.txtを介してwindows仮想環境インストールパッケージの対応する情報をエクスポートしてubuntuに移動できます
    pip3 install -r Requirements.txt mysqlclientは、インストールプロセス中にエラーを報告します。以下の2つの手順に従ってください。
    sudo apt-get install libmysqlclient-dev
    pip install mysqlclient

  4. データベース:
    sudo apt-get install mysql-server
    データベースを入力して独自のアカウントを作成し、すべてのアクセス許可を割り当て、アクセス許可を更新し、構成ファイルで0.0.0.0をバインドします
    ubuntuで使用するデータベースシャンゴンラインを作成し、windowsデータベースのデータをwindowsのNavicatを介してubuntuに転送します。
    プロジェクトフォルダを仮想環境にドラッグし、プロジェクトpython manage.py runserverと入力して、プロジェクトをプルアップできることを確認します

  5. uwsgiをインストールします------- pip3uwsgiをインストールします
    uwsgiのテスト--------- uwsgi --http:8000 --module ShangOnline.wsgi

  6. インストールと構成nginx ------ sudo apt-get install nginx
    インストールが完了すると、nginxサービスが自動的に開始されます。外部Windowsブラウザでubuntu ipに直接アクセスすると、nginx環境インターフェイスに入ります。
    プロジェクトルートディレクトリに新しいフォルダconfig ------- newsol_nginx.confを作成します

the upstream component nginx needs to connect to

upstream django {

server unix:///path/to/your/mysite/mysite.sock; # for a file socket

server 127.0.0.1:8000; # for a web port socket (we'll use this first)
}

configuration of the server

server {

the port your site will be served on

listen 80;

the domain name it will serve for

server_name your ip address;#マシンのIPアドレスまたはFQDNに置き換えます
charset utf-8;

max upload size

client_max_body_size 75M; # adjust to taste

Django media

location /media {
エイリアス/ home / ly / ShangOnline / static / media; #djangoのメディアディレクトリを指します
}

location /static {
エイリアス/ home / ly / ShangOnline / static; #djangoの静的ディレクトリを指します
}

Finally, send all non-media requests to the Django server.

location / {
uwsgi_pass django;
include /etc/nginx/uwsgi_params; # the uwsgi_params file you installed
}
}
7. 構成ファイルをnginxの起動構成ファイルに追加します
sudo cp /home/ly/ShangOnline/config/sol_nginx.conf /etc/nginx/conf.d/
8. 必要なすべての静的ファイルを同じディレクトリにプルします
djangoの設定ファイルに、次の内容を追加します。

STATIC_ROOT = os.path.join(BASE_DIR, "static/")
コマンドを実行する
python manage.py collectstatic
9. nginxを実行します
sudo /usr/sbin/nginx
ここで、nginxコマンドで直接開始する必要があることに注意してください。systemctlでnginxを開始しないでください。そうしないと、アクセス許可の問題が発生します。
10. 構成ファイルからuwsgiを起動します
次の内容で新しいuwsgi.ini構成ファイルを作成します。

mysite_uwsgi.ini file

[ uwsgi]

Django-related settings

the base directory (full path)

chdir = /home/ly/ShangOnline/

Django's wsgi file

module = ShangOnline.wsgi

the virtualenv (full path)

process-related settings

master

master = true

maximum number of worker processes

processes = 10

the socket (use the full path to be safe

socket = 127.0.0.1:8000

... with appropriate permissions - may be needed

chmod-socket = 664

clear environment on exit

vacuum = true
virtualenv = /home/ly/Envs/ShangOnline

logto = /tmp/mylog.log

******注意:
chdir:操作が必要なディレクトリ、つまりプロジェクトのディレクトリを示します
モジュール:wsgiファイルのパス
プロセス:プロセスの数
virtualenv:仮想環境のディレクトリ

workon ShangOnline
uwsgi -i /home/ly/ShangOnline/config/uwsgi.ini &
10. アクセス
http:// your ip address /

Recommended Posts

nginx + uwsgiを介してubuntuにdjangoアプリケーションをデプロイします
Ubuntu14.04にDjangoをデプロイする方法
Ubuntuの下のdockerを介してspringbootプロジェクトをデプロイします
Ubuntu14.04にClojureWebアプリケーションをデプロイする方法
Centos8のdjangoプロジェクトにnginx + uwsgiをデプロイするためのチュートリアル
Ubuntuにmysql-pythoをインストールします
ubuntuサーブのNagios3
ubuntu16.04はGPU環境を展開します
ubuntuでスーパーバイザーを使用する
UbuntuにDjangoをインストールします
Ubuntuにpythonをインストールする
Ubuntu19.10にJDKをインストールします
sshを介してwin10でubuntuシステムを制御する方法
Ubuntu16.04環境でPython3.6の下にDjangoをインストールするための詳細な手順