knaka Tech-Blog

AI, IoT, DIYエレクトロニクス, データサイエンスについて投稿予定です。

django + nginx + uwsgi の設定 #django

index:

概要

djangoで、nginx + uwsgi を連携し、
webサービスを構築する例となります。

環境

python 3.5
Django
nginx
uwsgi

設定ファイルの例

https://github.com/kuc-arc-f/django_nginx

python3 です。
アプリは、test1

設定方法

django プロジェクト作成、
アプリの追加等は、省略します。
前回の例と、ほぼ同じです。

nginx conf、追加

#
upstream django {
	server 127.0.0.1:8001;
}

#
server {
	listen       80;

	location / {
		uwsgi_pass django;
		include /home/pi/work/django/django1/uwsgi_params;
	}
}

https://github.com/kuc-arc-f/django_nginx/blob/master/nginx_conf/django.conf

・uwsgi_paramsは、
 プロジェクトのパスとなります。(後述します)

・ /etc/nginx/sites-available に、
conf 追加します。

・ /etc/nginx/conf.d/
に、上記のリンク追加します。

 =>既に、confがある場合、削除しておきます。

・nginx 再起動
sudo service nginx stop
sudo service nginx start


uwsgi の設定

・uwsgi_params
プロジェクト内に、配置

uwsgi_param  QUERY_STRING       $query_string;
uwsgi_param  REQUEST_METHOD     $request_method;
uwsgi_param  CONTENT_TYPE       $content_type;
uwsgi_param  CONTENT_LENGTH     $content_length;

uwsgi_param  REQUEST_URI        $request_uri;
uwsgi_param  PATH_INFO          $document_uri;
uwsgi_param  DOCUMENT_ROOT      $document_root;
uwsgi_param  SERVER_PROTOCOL    $server_protocol;
uwsgi_param  REQUEST_SCHEME     $scheme;
uwsgi_param  HTTPS              $https if_not_empty;

uwsgi_param  REMOTE_ADDR        $remote_addr;
uwsgi_param  REMOTE_PORT        $remote_port;
uwsgi_param  SERVER_PORT        $server_port;
uwsgi_param  SERVER_NAME        $server_name;

https://github.com/kuc-arc-f/django_nginx/blob/master/django1/uwsgi_params

・uwsgi の起動
uwsgi --socket :8001 --module django1.wsgi

表示の確認、

http://ip/test1/
表示されます。

参考のページ

knaka0209.hatenablog.com