先貼個(gè)官方文檔
安裝python , 及虛擬環(huán)境, django 等
還要安裝uwsgi
pip install uwsgi
現(xiàn)在先貼下現(xiàn)有項(xiàng)目目錄結(jié)構(gòu)

project.png
現(xiàn)在因?yàn)閣sgi.py已經(jīng)有django給生成了 .
我們只需要在項(xiàng)目目錄, 即manage.py的同級(jí)目錄創(chuàng)建文件myweb_uwsgi.ini

image.png
- myweb_uwsgi.ini
[uwsgi]
# Django-related settings
socket = 192.16864.131.:8000
# the base directory (full path)
chdir = /home/lin/Desktop/lin/code/workspace/partner
# Django s wsgi file
module = partner.wsgi:application
# wsgi-file = myproject/wsgi.py
# process-related settings
# master
master = true
# maximum number of worker processes
processes = 4
# ... with appropriate permissions - may be needed
# chmod-socket = 664
# clear environment on exit
vacuum = true
daemonize = /home/lin/Desktop/lin/code/workspace/partner/uwsgi_log.log
pidfile = /home/lin/Desktop/lin/code/workspace/partner/uwsgi_pid.log

image.png
- [uwsgi] 必須有 , 不然會(huì)報(bào)以下錯(cuò)
Can't find section "uwsgi" in INI configuration file myweb_uwsgi.ini
文件里面的字段意思:
- socket :指定項(xiàng)目執(zhí)行的端口號(hào)
- 用nginx的時(shí)候就配socket , 直接運(yùn)行的時(shí)候配 http
- chadir :指定項(xiàng)目的目錄
- module :可以這么來(lái)理解,對(duì)于- myweb_uwsgi.ini文件來(lái)說(shuō),與它的平級(jí)的有一個(gè)partner目錄,這個(gè)目錄下有一個(gè)wsgi.py文件
- master :允許主線程存在(true)
- processes:開(kāi)啟的進(jìn)程數(shù)量(這里是開(kāi)啟4個(gè)進(jìn)程)
- vacuum :當(dāng)服務(wù)器退出的時(shí)候自動(dòng)清理環(huán)境,刪除unix socket文件和pid文件
配完就能運(yùn)行起uwsgi了
uwsgi --ini myweb_uwsgi.ini
最后貼一下nginx的配置了.
server {
listen 8099;
server_name 192.168.64.131
charset UTF-8;
access_log /var/log/nginx/myweb_access.log;
error_log /var/log/nginx/myweb_error.log;
client_max_body_size 75M;
location / {
include uwsgi_params;
uwsgi_pass 192.168.64.131:8000;
uwsgi_read_timeout 20;
}
location /static {
expires 30d;
autoindex on;
add_header Cache-Control private;
alias /home/lin/Desktop/lin/code/workspace/partner/static;
}
}