uwsgi + nginx + Django

注意关键点:

  一、uwsgi 如果配置成 socket 只能和 nginx 一起使用才行,如果不想使用 nginx 只使用  uwsgi  可以用 http  的方式启动

  二、nginx的配置文件因为需要把前端 dist 以及后端的都配置上,location 里不能相同,所以后端所有接口可以统一的加一个接口前缀

  三、如果配置好 nginx 了访问时不用加端口号

  四、可以使用 nginx --/etc/nginx/nginx.conf 来检查配置是否有问题

  五、root和alias都可以定义在location模块中,都是用来指定请求资源的真实路径,但 alias 需要以 '/' 结尾

pip install uwsgi

cd /opt/zbmbuilding

vim uwsgi.ini

 

[uwsgi]

chdir = /opt/zbmbulding
module = zbm.wsgi
# wsgi-file = /opt/zbmbulding/zbm/wsgi.py
master = true
processes = 3
buffer-size = 65536
socket = 0.0.0.0:8000
vacuum = true
pythonpath = /usr/bin/python
daemonize = /opt/zbmbulding/uwsgi.log

 

touch uwsgi.log

启动不了uwsgi:
ln /root/Py37/uwsgi /usr/bin/uwsgi
pkill -9 uwsgi
启动:uwsgi --ini uwsgi.ini
停止:uwsgi --stop uwsgi.pid
重启:uwsgi --reload uwsgi.pid
卸载:
pip3 uninstall uwsgi
sudo apt-get remove uwsgi

 

安装Nginx

yum -y install nginx

nginx -V

cd /etc/nginx/

cd conf.d/

vim *.conf

server {
listen 80;
server_name localhost;

access_log /opt/zbm_access.log;
error_log /opt/zbm_error.log;

client_max_body_size 75M;

location / {
# root /usr/share/nginx/html;
root /opt/riskControl;
index index.html index.htm;

try_files $uri $uri/ /index.html;

}

location /zbm {
include uwsgi_params;
uwsgi_pass 127.0.0.1:8000;
uwsgi_param UWSGI_SCRIPT zbm.wsgi;
uwsgi_param UWSGI_CHDIR /opt/zbmbulding;
}


error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}

location /static {
alias /opt/zbmbulding/static;
}
}

 

posted @ 2020-03-12 18:39  以纯  阅读(117)  评论(0)    收藏  举报