美文网首页
uwsgi部署django应用

uwsgi部署django应用

作者: 小笨郎 | 来源:发表于2018-03-02 22:57 被阅读0次

    安装软件

    1、python虚拟环境搭建:
    pip3 install virtualenv virtualenvwrapper:参考https://www.jianshu.com/p/9ee09e2657c3
    2、安装django
    pip3 install django==1.11.10
    3、安装uwsgi
    pip3 install uwsgi
    安装uwsgi可能遇到的问题:
    (1)缺c++编译器,yum install -y gcc gcc-c++
    (2)缺python-devel,yum install python3-devel.x86_64 【注意是python3】

    创建一个django项目,并在项目根目录下创建uwsgi.ini文件

    文件内容如下:

    [uwsgi]
    project_base = /home/nginx
    project_name = 'xxx_app'
    # 项目目录全局变量,注意后面不要加 /
    http  = 0.0.0.0:3033
        #使用http, 可以直接对外服务
    #socket = 127.0.0.1:3033
        #使用 socket,必须使用nginx uwsgi_pass 代理才能对外服务
    stats = 0.0.0.0:4033
      #监听与状态的IP和端口
    daemonize = /var/log/nginx/%(project_name).uwsgi.log
        #后台启动,并把日志记录到指定文件
    home=/root/.virtualenvs/venv_pdf2html
        # 配置虚拟python环境路径
    chdir = %(project_base)/%(project_name)    
        #项目根目录
    wsgi-file = %(project_base)/%(project_name)/pdf_to_html/wsgi.py
    pidfile = %(project_base)/%(project_name)/uwsgi_master.pid
    

    启动、停止、重新加载uwsgi

    uwsgi --ini /home/nginx/xxx_app/uwsgi.ini
    uwsgi --reload /home/nginx/xxx_app/uwsgi_master.pid
    uwsgi --stop /home/nginx/xxx_app/uwsgi_master.pid

    可以创建3个bash文件,方便启动停止重载过程,例如:在项目bin目录下(如果没有就创建)创建10_run_uwsgi.sh,内容如下:

    #! /bin/bash
    #加载环境变量,主要是virtualwrapper的配置
    source ~/.bash_profile 
    #进入虚拟环境
    workon venv_pdf2html 
    # 进入项目目录
    cd /home/nginx/xxx_app
    # 启动uwsgi
    uwsgi --ini /home/nginx/xxx_app/uwsgi.ini 
    

    其他两个文件类似,只是最后一行的不同

    进入项目目录:/home/nginx/xxx_app
    启动uwsgi:bin/10_run_uwsgi.sh
    停止uwsgi:bin/12_stop_uwsgi.sh
    重新加载uwsgi:bin/11_reload_uwsgi.sh

    监控日志:tail -f /var/log/nginx/xxx_app.log

    相关文章

      网友评论

          本文标题:uwsgi部署django应用

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