先貼個官方文檔
安裝python , 及虛擬環(huán)境, django 等
還要安裝uwsgi
pip install uwsgi
現(xiàn)在先貼下現(xiàn)有項目目錄結(jié)構(gòu)
project.png
現(xiàn)在因為wsgi.py已經(jīng)有django給生成了 .
我們只需要在項目目錄, 即manage.py的同級目錄創(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] 必須有 , 不然會報以下錯
Can't find section "uwsgi" in INI configuration file myweb_uwsgi.ini
文件里面的字段意思:
- socket :指定項目執(zhí)行的端口號
- 用nginx的時候就配socket , 直接運行的時候配 http
- chadir :指定項目的目錄
- module :可以這么來理解,對于- myweb_uwsgi.ini文件來說,與它的平級的有一個partner目錄歪赢,這個目錄下有一個wsgi.py文件
- master :允許主線程存在(true)
- processes:開啟的進程數(shù)量(這里是開啟4個進程)
- vacuum :當服務(wù)器退出的時候自動清理環(huán)境灵迫,刪除unix socket文件和pid文件
配完就能運行起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;
}
}