美文网首页
uwsgi | Nginx web项目部署

uwsgi | Nginx web项目部署

作者: 眼睛好酸 | 来源:发表于2018-03-20 10:06 被阅读0次

    uwsgi是一个遵循wsgi协议的web服务器。


    image.png
    image.png
    image.png
    1.uwsgi服务器的安装
    pip install uwsgi==2.0.15
    2.uwsgi服务器的配置
    [uwsgi]
    #使用nginx连接时使用
    #socket=127.0.0.1:8080
    #直接做web服务器使用
    http=127.0.0.1:8080
    #项目目录
    chdir=/Users/smart/Desktop/dj/bj17/项目名
    #项目中wsgi.py文件的目录,相对于项目目录
    wsgi-file=项目名/wsgi.py
    processes=4
    threads=2
    master=True
    pidfile=uwsgi.pid
    daemonize=uwsgi.log                        
    virtualenv=/Users/smart/.virtualenvs/虚拟环境名
    3.uwsgi服务器的启动和停止
    启动:uwsgi –-ini 配置文件路径 例如:uwsgi –-ini uwsgi.ini
    停止:uwsgi --stop uwsgi.pid路径 例如:uwsgi –-stop uwsgi.pid
    

    nginx

    1.nginx配置转发请求给uwsgi
    location / {
        include uwsgi_params;
        uwsgi_pass uwsgi服务器的ip:port;
    }
    2.nginx配置处理静态文件
    
    1)django settings.py中配置收集静态文件路径:
      STATIC_ROOT='收集的静态文件路径'
      例如:STATIC_ROOT='/var/www/项目名/static'
    
    2)在终端中执行django收集静态文件的命令:
        python manage.py collectstatic
      执行上面的命令会把项目中所使用的静态文件收集到STATIC_ROOT指定的目录下。
    
    3)在nginx配置文件中添加如下内容:
      location /static {
          alias /var/www/项目名/static/;
      }
    3.nginx转发请求给另外地址
    在location 对应的配置项中增加 proxy_pass 转发的服务器地址。
    如当用户访问127.0.0.1时,在nginx中配置把这个请求转发给172.16.179.131:80(nginx)服务器,
    让172.16.179.131:80服务器提供静态首页。
    配置如下:
      location = / {
          proxy_pass http://172.16.179.131;
      }
    4.nginx配置upstream实现负载均衡
    
    ngnix 配置负载均衡时,在server配置的前面增加upstream配置项。
    upstream 项目名 {
        server 127.0.0.1:8080;
        server 127.0.0.1:8081;
    }
    
    修改nginx中的location /配置项:
    location / {
      include uwsgi_params;
      # uwsgi_pass uwsgi服务器的ip:port;
      uwsgi_pass 项目名;
    }
    

    相关文章

      网友评论

          本文标题:uwsgi | Nginx web项目部署

          本文链接:https://www.haomeiwen.com/subject/yujvqftx.html