uwsgi+nginx配置实施负载均衡部署上线

  1. uwsgi

  2. 遵循wsgi协议的web服务器。
    
  3. uwsgi的安装

  4.  pip install uwsgi
    
  5. uwsgi的配置

  6.  项目部署时,需要把settings.py文件夹下的:
     DEBUG=FALSE
     ALLOWED_HOSTS=[‘*’] 
    
  7. [uwsgi]

  8.  #使用nginx连接时使用
     #socket=127.0.0.1:8000
     #直接做web服务器使用
     http=127.0.0.1:8000
     #项目目录
     chdir=/home/xiaoge/Desktop/dailyfresh
     #项目中wsgi.py文件的目录,相对于项目目录
     wsgi-file=dailyfresh/wsgi.py
     processes=4
     threads=2
     master=True
     pidfile=uwsgi.pid
     daemonize=uwsgi.log
     virtualenv=/home/xiaoge/.virtualenvs/dailyfresh
    
  9. uwsgi的启动和停止

  10.  启动:uwsgi –-ini 配置文件路径 例如:uwsgi –-ini uwsgi.ini
     停止:uwsgi --stop uwsgi.pid路径 例如:uwsgi –-stop uwsgi.pid
    
  11. nginx

  12. nginx 配置转发请求给uwsgi
    location / {
    	include uwsgi_params;
    	uwsgi_pass uwsgi服务器的ip:port(这是单台uwsgi配置);
    	uwsgi_pass (我下面配置了upstream dailyfresh上游 upstream固定的 dailyfresh自己取得把自己取得名字放在这里);
    	(根据业务需求, 实施负载均衡就用下面这个, 实施单台就用上面个, 这里只能用一个,注释掉另外一个)
    }
    
  13. nginx配置处理静态文件

  14. django settings.py中配置收集静态文件路径:
    STATIC_ROOT=收集的静态文件路径 例如:/var/www/dailyfresh/static;
    
  15. django 收集静态文件的命令:

  16. python manage.py collectstatic
    执行上面的命令会把项目中所使用的静态文件收集到STATIC_ROOT指定的目录下。
    
    收集完静态文件之后,让nginx提供静态文件,需要在nginx配置文件中增加如下配置:
    location /static {
    	alias /var/www/dailyfresh/static/;
    }
    
  17. nginx转发请求给另外地址

  18. 在location 对应的配置项中增加 proxy_pass 转发的服务器地址。
    如当用户访问127.0.0.1时,在nginx中配置把这个请求转发给172.16.66.228:80(nginx)		服务器,让这台服务器提供静态首页。
    配置如下:
    location = /{
    	proxy_pass http://172.16.66.228;
    }
    
  19. nginx配置upstream实现负载均衡

  20. ngnix 配置负载均衡时,在server配置的前面增加upstream配置项。
    upstream dailyfresh {
    	server 127.0.0.1:8000;
    	server 127.0.0.1:8001;
    }
    

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/zsx1314lovezyf/article/details/89816263
今日推荐