**最初の一歩。 ****
sudo apt-get update
sudo apt-get upgrade
最初に更新します。 。
Djangoの主流の展開方法:nginx + uwsgi + django
**2番目のステップはnginx **をインストールすることです
sudo apt-get install nginx
nginxをインストールします。最新のnginxをインストールする必要がある場合は、手動でコンパイルするために公式Webサイトからソースパッケージをダウンロードする必要があります。
nginxの一般的なファイル構造。
構成ファイル:/ etc / nginx
プログラム:/ usr / sbin / nginx
ログ:/var/log/nginx/access.log – error.log
**3番目のステップはuwsgi **をインストールすることです
sudo apt-get install python3-dev
sudo apt-get install python3-pip
sudo pip3 install uwsgi(この手順の前に、pipソースを変更してダウンロード速度を上げることができます。〜 / .pipの下にpip.confを作成して書き込みます
[ global]
trusted-host = pypi.douban.com
index-url = http://pypi.douban.com/simple)
uwsgiは、WSGIプロトコル、uwsgi、http、およびその他のプロトコルを実装するWebサーバーです。 NginxのHttpUwsgiModuleの機能は、uWSGIサーバーと交換することです。
一般的なプロセスは次のとおりです。Client<==> nginx <==> uwsgi <==> Django。静的リクエストはNginx自体によって処理されます。非静的リクエストはuwsgiを介してDjangoに渡され、Djangoによって処理されてWEBリクエストが完了します。
Djangoテストプロジェクト、django-admin startproject mysite、cd mysite、python manage.py startappdemo1を作成します。
**4番目のステップはuwsgi **をテストすることです
mysiteディレクトリnanotest.pyに新しいテストファイルを作成します。
書く:
def application(env, start_response):start_response('200 OK',[('Content-Type','text/html')])return["Hello World"]
実行:
uwsgi --http :8001--plugin python --wsgi-file test.py
アクセスは正常です。
5番目のステップ、Djangoをテストする
python manage.py runserver 0.0.0.0:8002
アクセスは正常です。
Djangoとuwsgiを接続します。
uwsgi --http:8001--plugin python --module mysite.wsgi
アクセスは正常です。
**6番目のステップ、uwsgi **を構成します
uwsgiは、さまざまな構成ファイルを介した起動をサポートします。ここでは、ini構成ファイル方式が使用されます。
新しいuwsgi:nano uwsgi.ini
# mysite_uwsgi.ini file
[ uwsgi]
socket =127.0.0.1:3400
# Django-related settings
# the django project directory(full path)
chdir =/home/ubuntu/mysite
# Django's wsgi file
module = mysite.wsgi
# process-related settings
# master
master =true
# maximum number of worker processes
processes =2
threads =2
max-requests =6000
# ... with appropriate permissions - may be needed
chmod-socket =664
# clear environment on exit
vacuum =true
アクセス中にエラーが報告されました。無効な要求ブロックサイズ:21573(最大4096)...スキップ。
その理由は、URLアドレスが4096文字を超えているためであり、ソケットから開始しているためです。構成ファイルのソケットをhttpに変更したり、バッファーサイズを変更したりできます。
( 変更せず、テスト中にhttpに変更し、nginxに接続するときにソケットに戻すことをお勧めします)
daemonize =/home/ubuntu/mysite/uwsgi.log
正式な操作中にこのコードをuwsgi.iniファイルに追加すると、アクセスログがバックグラウンドでuwsgi.logに出力されます。
この時点で、djangoはアクセスできるようになりました。
**7番目のステップは、nginx **を構成することです。
nginxのデフォルト構成ファイル/ etc / nginx / sites-enabled / defaultを変更します
server {
# the port your site will be served on
listen 80;
# the domain name it will serve for
server_name 127.0.0.1; # substitute your machine's IP address or FQDN
charset utf-8;
# max upload size
client_max_body_size 75M; # adjust to taste
# Django media
location /media {
alias /home/ubuntu/mysite/media; # your Django project's media files - amend as required
}
location /static{
alias /home/ubuntu/mysite/static; # your Django project's static files - amend as required
}
# Finally, send all non-media requests to the Django server.
location /{
include uwsgi_params; # the uwsgi_params file you installed
uwsgi_pass 127.0.0.1:8001;#これは、uwsgi構成ファイルと一致しています
}}
テスト中にuwsgi.iniの構成を変更することを忘れないでください。
8番目のステップ、実行
nginxを再起動し、uwsgiを実行します。
完了です
上記のUbuntu14.04でのDjangoの展開方法は、エディターが共有するすべてのコンテンツです。参考にしてください。
Recommended Posts