美文网首页
uwsgi+nginx反向代理项目部署

uwsgi+nginx反向代理项目部署

作者: 一杯海风_3163 | 来源:发表于2018-03-12 21:31 被阅读0次

    在linux下用uwsgi+nginx进行反向代理部署

    nginx服务器:1.反向代理,代理uwsgi服务器。2.静态文件服务器,提供静态文件访问。

    一、项目准备工作:

    1.项目文件夹放到部署目录中:

    ①首先在linux下创建一个专门用于存放要部署的项目的文件夹django_worker。
    ②先在其中创建虚拟环境
    创建虚拟环境的命令:virtualenv django_lib。相当于拷贝了一份纯净的python环境。
    ③进入虚拟环境
    source ./django_lib/bin/activate
    安装需要的模块:
    pip install django==1.9

    2.配置并收集静态文件:

    ①创建项目mysite,在mysite下创建文件夹static_files,专门用于存放静态文件,并在setting.py文件中配置:
    STATCI_ROOT='/home/worker//mysite/static_files'
    ②收集静态资源
    python manage.py collectstatic
    (空项目中只会收集到admin模块的静态文件)

    二、配置uwsgi服务器

    1.创建uwsgi.ini文件
    # 使用uwsgi+nginx反向代理配置,使用socket完成nginx和uwsgi的连接
    socket = localhost:9999
    # 通过chdir选项配置当前项目所在路径
    chdir = /home/worker/django_worker/mysite
    # 通过wsgi-file配置,指向当前项目的wsgi实现文件
    uwsgi-file = mysite/wsgi.py
    # 主进程启用~使用主进程管理所有进程
    master = True
    # 配置保存主进程编号的文件
    pidfile = uwsgi.pid
    # 配置启动多少个进程
    processes = 2
    # 配置每个进程启动多少个线程
    threads = 2
    # 配置uwsgi服务器的日志记录
    daemonize = uwsgi.log
    

    :wq! 保存退出
    ! 强制退出
    x 保存退出

    2.启动uwsgi服务器
    uwsgi --ini uwsgi.ini
    
    3.配置nginx服务器
    ①.配置反向代理【反向代理服务器】

    找到nginx.conf文件:

    cd  /etc/nginx 
    

    编辑nginx.conf配置文件

    vi nginx.conf 
    

    找到http模块中,最后,增加server配置

    http{
            ......
            # 配置nginx服务器
            server{
                     # 配置监听端口
                     listen  80;
                     # 配置服务器访问地址,本机IP
                     server_name  192.168.10.51;
                     # 配置uwsgi反向代理路由
                     location / {
                                  # 包含uwsgi请求描述文件
                                  include uwsgi_params;
                                  # 配置请求传递,socket地址
                                  uwsgi_pass  127.0.0.1:8000;
                                     }
                        
    
    ②.配置静态文件映射【静态文件服务器】(同样在http中)
            location  /static{
                          # 配置/static 的实际访问路径
                          alias  /home/worker/django_worker/mysite/static_files;
                                  }
                                ......
                                              }
    
    4.重新加载配置文件
    uwsgi  --reload  uwsgi.pid    # 重新加载reload,停止stop
    

    相关文章

      网友评论

          本文标题:uwsgi+nginx反向代理项目部署

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