uwsgi+nginx部署django

第一步:在项目的settings中配置STATIC_ROOT

STATIC_ROOT = os.path.join(BASE_DIR,’static’)

第二步:将所有静态文件复制到STATIC_ROOT目录内

python3 manage.py collectstatic

执行完成后会在项目目录内生成static存放所有的静态文件

第三步:配置uwsgi.ininginx.conf这两个配置文件,共3三种方式

第一种方式:常规http方式

uwsgi配置:

[uwsgi]

http = :8081

chdir= /root/project_test/s11_30

wsgi-file= s11_30/wsgi.py

virtualenv = /root/test/p1

processes = 2

threads=2

daemonize=/root/uwsgi/django.log

vacuum=true

py-autoreload=1

nginx配置:

server{

    listen 80 default_server;

    server_name ss.com;

    location / {

    proxy_pass http://127.0.0.1:8081;

    }

    location /static {

    root /root/project_test/s11_30;

    }

}

第二种:socket方式

uwsgi配置:

[uwsgi]

socket = :8081

chdir= /root/project_test/s11_30

wsgi-file= s11_30/wsgi.py

virtualenv = /root/test/p1

processes = 2

threads=2

daemonize=/root/uwsgi/django.log

vacuum=true

py-autoreload=1

nginx配置:

server{

    listen 80 default_server;

    server_name ss.com;

    location / {

    include uwsgi_params;

    uwsgi_pass 127.0.0.1:8081;

    }

    location /static {

    root /root/project_test/s11_30;

    }

}

 

 

第三种:

uwsgi配置:

[uwsgi]

socket= /root/project_test/s11_30/super.sock

chdir= /root/project_test/s11_30

wsgi-file= s11_30/wsgi.py

virtualenv = /root/test/p1

processes = 2

threads=2

daemonize=/root/uwsgi/django.log

vacuum=true

py-autoreload=1

nginx配置:

server{

    listen 80 default_server;

    server_name ss.com;

    location / {

    include uwsgi_params;

    uwsgi_pass unix://root/project_test/s11_30/super.sock;

    }

    location /static {

    root /root/project_test/s11_30;

    }

}

 

第三种方式会在项目根目录下生成一super.sock文件

官方说sockethttp10倍,所以选择23,3的性能高于2,2的通用性强于3,如果在linux系统内,选择3,不然选择2.

posted @ 2020-12-04 14:39  Tumbled  阅读(129)  评论(0)    收藏  举报